Aplicações BlackBerry: RIMlet X MIDlet
Em um device BlackBerry você pode rodar tanto aplicações J2ME, os MIDlet, quanto aplicações nativas BlackBerry, que possuem acesso às APIs nativas das bibliotecas Rim, denominadas RIMlet. Aplicações RIMlet podem usar todos os recursos do device, enquanto que aplicações MIDlet são mais limitadas. Apenas para citar um exemplo, aplicações MIDlet não tem acesso às teclas especiais do device, como a TrackBall, a bolinha de movimento dos devices mais novos, ou a TrackRoll, a rodinha de movimento nos devices mais antigos, fazendo com que uma aplicação MIDlet deixe de usar umas das teclas mais importante dos devices BlackBerry. No entanto, aplicações nativas RIMlet são compiladas para funcionar apenas em devices BlackBerry. Não poderíamos ter a mesma aplicação RIMlet rodando em celulares Nokia ou Motorola, por exemplo.
Portanto, ao escolher entre RIMlet e MIDlet, pense no objetivo da aplicação. A maioria das aplicações que faço para BlackBerry são nativas RIMlet. No entanto, há um tempo atrás precisei desenvolver uma aplicação que rodasse tanto nos BlackBerry quanto nos smartphones S60 da Nokia, e por isso optei por MIDlet, caso contrário teria que fazer duas aplicações para cada plataforma. No Nokia rodou legal, mas no BlackBerry, visto que os MIDlet não sabem quando uma tecla de navegação BlackBerry foi pressionada, tive que implementar a navegação pelo teclado usando Enter e Delete, para avançar e voltar nas telas. Uma aplicação comercial não seria bem aceita caso o usuário não pudesse usar as teclas de navegação padrões do device, mas para o meu caso, naquele projeto específico, resolveu.
Para desenvolver uma aplicação MIDlet que rode no BlackBerry, basta fazer a aplicação como qualquer outra. No entanto, você precisará definir a navegação entre telas pelo teclado. Ao final você terá um arquivo .JAR que rodará teoricamente em qualquer celular.
Para desenvolver uma aplicação RIMlet, é necessário seguir várias regras, usar outras classes, outra API. Você não terá a classe Form ou Canvas. Você não terá a classe que estende MIDlet. No entanto, com uma aplicação nativa você poderá usar as teclas normais do BlackBerry, poderá usar todos os recursos do device, como abrir um link no navegador de internet do device. Ao final você terá um arquivo .COD que rodará apenas em BlackBerry, e dependerá das versões de SO que terá nos devices.
Se restarem dúvidas, postem nos comentários.
Abraço.
Nelson Pereira Junior
Sobre o Autor
Nelson é desenvolvedor há 12 anos. Hoje desenvolve aplicações Web e Móveis na Abacomm Brasil cuidando do desenvolvimento server-side J2EE, banco de dados, design de aplicações móveis, e desenvolvimento móvel usando várias plataformas como BlackBerry, J2ME, FlashLite, Android, etc. Para conversar com o autor use o e-mail, MSN e GTalk npereirajr@gmail.com.

Messias:
ficou massa este tutorial….
25 Janeiro 2008, 12:17 pmherval:
voce tem que converter o .jar em .cod tambem, para instalar apps J2me no blackberry - ele nao aceita download de .jar…
29 Março 2008, 2:35 pmGerson Santos:
Ola caro amigo, estou fascinado pela programação java.
Gostaria de pedir uma grande ajuda. Poderia me ajudar a criar um INMOBILE para conectar o celular na rede VOIP? Ja tenho o servidor VOIP, Licença e tudo mais.
Um abraço.
31 Março 2008, 6:44 pmfabio pupo:
” (…) aplicações MIDlet não tem acesso às teclas especiais do device, como a TrackBall, a bolinha de movimento dos devices mais novos, ou a TrackRoll, a rodinha de movimento nos devices mais antigos (..) ”
Opa .. no BlackBerry 8100 você pode usar a trackball sim, usando MIDlet Canvas.
Instale esse exemplo:
http://ictlab.tyict.vtc.edu.hk/~nelsonc/mobile/Notes/J2ME%20Low%20Level%20UI2.ppt#393,1,J2ME Low Level UI 2
Ela funciona perfeitamente! ;)
13 Junho 2008, 11:11 am