Devido à Pós-Graduação que estou cursando sobre Desenvolvimento de Aplicações para Dispositivos Móveis, tenho tido contato com os mais variados conceitos e tecnologias em cima de plataformas móveis. Ok, Android já é um velho conhecido para mim, mas esta semana acabei iniciando meus estudos sobre a plataforma BlackBerry, tão famosa por seus smartphones focados para o público executivo, seja pelo excelente serviço de mensageria eletrônica ou mesmo pelos preços salgados de seus aparelhos e serviços (arggh!).
Neste post iremos dar os primeiros passos no desenvolvimento para BlackBerry, entendendo a plataforma, configurando o ambiente e fazendo um clássico Hello World!
Antes de tudo, é importante que você saiba que somente é possível usar todas as ferramentas oficiais para desenvolvimento Blackberry no sistema operacional Windows. No Mac OSX você até consegue desenvolver a aplicação mas só conseguirá testá-la se possuir um aparelho (os simuladores não existem para Mac). No Linux, você nem mesmo consegue desenvolver pois nãoe xiste plugin de integração com o Eclipse for Linux. Caso seja usuário de um desses dois sistemas operacionais, terá de criar uma Máquina Virtual com Windows para poder programar ou então torne sua máquina Dual Boot usando o Bootcamp (Mac) ou Grub (Linux).
J2ME
A plataforma BlackBerry roda sobre o framework Java 2 Micro Edition puro, ao contrário da plataforma Android que resolveu reescrever a roda e criar todo um modelo novo de desenvolvimento de aplicações sobre uma complexa arquitetura. Não que isso seja ruim, muito pelo contrário, mas não estamos aqui para discutir sobre design patterns, não é mesmo? O J2ME é o framework Java para desenvolvimento de soluções móveis. Quem pensou em smartphones não está errado, mas ele é muito mais que isso. Existem três configurações principais de J2ME, com máquinas virtuais Java distintas e capacidades ainda mais distintas: CLDC, CDC e SmartCards.
A CLDC é a configuração padrão para dispositivos com baixa conectividade, pouquíssimos recursos, etc. Os telefones celulares de outrora eram em sua maioria da “família” CLDC, assim como certos set-top boxes, players de música, etc. A CDC é a versão mais fanfarrona da J2ME, onde a imensa maioria dos celulares atuais se encontram e poderosos dispositivos de mídia como Smart TVs, centrais multimídia, Blu-Ray players e or aí vai. E por fim temos uma outra versão voltada a SmartCards, para leitura de cartões magnéticos.
Sobre estas configurações estão os perfis de desenvolvimento, chamados de MIDP, que fornecem as APIs para determinados grupos de dispositivos. É sobre a MIDP que desenvolvemos os MIDlets, aplicações para dispositivos móveis, fazendo uma analogia aos Servlets (aplicações de servidor) e Applets (aplicações de cliente).
Uma vez que teremos de desenvolver sobre a plataforma Java, nada mais natural do que ter de baixar a última versão do JDK (Java Development Kit) no site da Sun Oracle em http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u3-download-1501626.html
Ambiente
Para desenvolvermos para BlackBerry usamos o bom e velho Eclipse, caso não tenha o Eclipse ou queira se certificar de estar com a última versão (Indigo), baixe-o diretamente do site oficial http://www.eclipse.org/downloads/packages/eclipse-ide-java-developers/indigosr2
Depois de estar com o Eclipse em sua máquina, é hora de baixar o BlackBerry SDK, que contém nada mais nada menos que o plugin para desenvolvimento no Eclipse e as bibliotecas e APIs específicas para BlackBerry, afinal a J2ME é para micro dispositivos em geral. Baixe o BlackBerry SDK no site oficial do fabricante https://developer.blackberry.com/java/download/eclipse, sendo que eu recomendo baixar a versão standalone do plugin, pois tive uma péssima experiência com o download via Eclipse…Aproveite que está no site do fabricante e também baixe algum simulador do BlackBerry, sendo que eu recomendo a versão BlackBerry Bold com SO 7.1, que é uma versão muito comum entre os usuários atualmente. Ops, ia esquecendo do link do simulador: http://us.blackberry.com/developers/resources/simulators.jsp
Note que o site irá exigir que você baixe um gerenciador de download da Akamai Software para que seja possível baixar o plugin e o simulador. É, não tem jeito. Eu realmente tive de instalar aquela porcaria apenas para baixar dois arquivos do site…
Instale o JDK, depois o Eclipse (que é só copiar a pasta…), e por último o plugin do BlackBerry seguido do simulador. Pronto, você está apto a desenvolver para BlackBerry!
Desenvolvendo
Abra o Eclipse. É provável que ele lhe faça alguns questionamentos como workspace do usuário (apenas confirme), se você quer que seja verificado se existem atualizações (sim) e por aí vai. Apenas concorde pois louco não se contraria e vamos direto criar nosso primeiro BlackBerry project como mostra a figura abaixo. Apenas dê um nome ao projeto e manda um Finish para começarmos a programar de uma vez.
Com uma estrutura similar ao do Android (ou seria o contrário?) você verá uma pasta src (source) com os arquivos .java tradicionais da linguagem e uma pasta res (resources) com as imagens da sua aplicação. Além disso você verá um arquivo BlackBerry_App_Descriptor.xml que seria o equivalenete ao Android Manifest. O que nos interessa aqui são os arquivos da pasta src mesmo. Cole o seguinte código dentro do arquivo MyApp.java:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
import net.rim.device.api.ui.UiApplication; /** * Herança da UiApplication */ public class MyApp extends UiApplication { /** * Método para execução de uma classe */ public static void main(String[] args) { // Cria uma nova aplicação MyApp theApp = new MyApp(); theApp.enterEventDispatcher(); } /** * Cria o objeto HelloWorldScreen */ public MyApp() { // Renderiza pushScreen(new MyScreen()); } } |
Agora cole o seguinte código dentro do arquivo MyScreen.java:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
import net.rim.device.api.ui.Field; import net.rim.device.api.ui.component.Dialog; import net.rim.device.api.ui.component.RichTextField; import net.rim.device.api.ui.container.MainScreen; /** * Herança da MainScreen */ final class MyScreen extends MainScreen { /** * Cria um novo objeto MainScreen */ MyScreen() { // Título da Tela setTitle("Olá Mundo!"); // Adiciona um campo texto sem leitura add(new RichTextField("Olá Mundo!", Field.NON_FOCUSABLE)); } /** * Método antes do fechamento */ public void close() { // Mostra a mensagem abaixo Dialog.alert("Tchau!"); super.close(); } } |
Para executar, apenas clique com o botão direito sobre MyApp.java, vá em “Run As” e selecione “BlackBerry Simulator”. Na primeira compilação o Eclipse deve lhe perguntar algo a respeito de uma tal de pré-compilação. Clique em “Restart Eclipse” e quando ele abrir de novo, apenas vá em Windows -> Open Perspective -> Other e escolha a opção de BlackBerry e lá estará seu projeto novamente, do ponto onde parou. Agora sim você pode mandar executar sua aplicação com o Run As -> BlackBerry Simulator para ver uma longa tediosa inicialização do BlackBerry SO 7.1.
Quando ele tiver iniciado por completo, clique em All e depois role até o final da tela, você deve ver o ícone genérico de aplicações BlackBerry por lá (uma janela transparente). Clique nele e verá sua aplicação funcionando.
Caso não veja o dito-cujo, vá no menu do simulador e clique em File -> Load BlackBerry Application or Theme, selecione o arquivo .cod (extensão das aplicações Blackberry) e mande dar um restart no BlackBerry para que ele reconheça a aplicação recém-instalada. Assim que ele terminar todo o processo novamente, sua aplicação estará lá para testes. Incrível não? Uma dica para agilizar seu desenvolvimento é nunca fechar este simulador e sempre que der um Run As no Eclipse, vá no menu File do simulador e instale novamente a aplicação para que ela seja reinstalada no simulador.
Bons estudos!
Conclusão
O mercado para BlackBerry já viu dias melhores e a canadense RIM, fabricante do aparelho e do software, tem demitido muita gente para corte de gastos. Para mim BlackBerry é apenas um tema ultrapassado de faculdade, assim como aquelas linguagens mortas que muitas vezes aprendemos a utilizar na graduação. De qualquer forma, servem para me mostrar o quão maravilhosas são as plataformas iOS e Android, hehehehe.
Se você está lendo este post até aqui é porque tem de programar algo para BlackBerry por algum motivo. E isso é um bom sinal, indica que a princípio ainda existe alguém ganhando grana com apps para esta plataforma. E dinheiro sempre é bom, não é mesmo? Até mais!
* OBS: agradecimentos ao prof. Gilberto Irajá, da Unisinos, que escreveu o material que usei como base para este post.
Para programar para BlackBerry é importante uma base sólida de Java. Recentemente escrevi um livro sobre esse assunto, que você pode conferir aqui.
Olá, tudo bem?
O que você achou deste conteúdo? Conte nos comentários.