IT Mídia
Notícias em destaque

BlackBerry e Android usam Java, mas JavaME?

12 de janeiro de 2011 16:46

Em algumas conversas com diferentes pessoas, sejam elas diretores de grande empresas ou até mesmo programadores entrando no mundo móbile, sempre me deparo com uma dúvida: Se Android e BlackBerry utilizam a linguagem Java, porque não utilizar o bom e velho Java ME para programar nestas plataformas. Bem, neste pequeno texto pretendo tirar essa dúvida dos leitores. O Java ME (Micro Edition), também chamado de J2ME até pouco tempo, é a versão da linguagem de programação Java para pequenos dispositivos. As outras duas divisões são o Java SE (Standart Edition) e Java EE (Enterprise Edition). Diferente da linguagem propriamente dita, que surgiu em 1995, o Java ME surgiu em 1999. O JME é formado por 4 camadas apresentadas na Figura 1. O Java ME é muito conhecido em telefones celulares, onde é utilizada a configuração CLDC e o perfil MIDP. ·         Sistema Operacional: sistema operacional nativo; ·         Maquina Virtual JAVA: interpreta os “bytecodes” (códigos fontes da linguagem JAVA) e os transforma em códigos de máquina que o sistema operacional nativo consegue entender; ·         Configuração: define uma plataforma mínima para cada categoria de dispositivo; ·         Perfis: são APIs que complementam e trazem novas funcionalidades às configurações. Figura 1: Estrutura do Java ME.E o BlackBerry? Eu posso utilizar a mesma programação do Java ME para este tipo de aparelho? A resposta é sim, mas não é legal. Vejamos porque. A BlackBerry API é uma alteração da RIM (Research In Motion) na Java ME tradicional. Adicionando algumas melhorias na API original e adicionando novas funcionalidades. Primeiramente, vamos discutir a Figura 2. Figura 2: Componentes de software para aparelhos BlackBerry. O primeiro componente de software é comum a Java ME tradicional, trata-se da máquina virtual Java. A seguir já ocorre uma divisão. Os aparelhos BlackBerry tem uma implementação da configuração CLDC (Connected Limited Device Configuration) e do perfil MIDP (Mobile Information Device Profile). Além disso, eles trazem a BlackBerry API. O programador pode utilizar no seu código um mashup das duas API´s, porém, quando o aplicativo tiver uma interface gráfica, deve ser usada ou a BlackBerry API (BB API), ou as classes da MIDP. Mesmo que a escolha seja a BB API, ainda assim, o programador pode utilizar algumas funcionalidades da Java ME tradicional, principalmente os pacotes opcionais. A escolha sobre qual caminho seguir depende do programador. O uso da BlackBerry API permite melhorias no seu aplicativo, como: tratamento ideal para a interface gráfica diferenciada dos aparelhos, integração com aplicativos do próprio aparelho, componentes visuais mais poderosos, gerenciadores de layout mais elaborados, métodos de persistência mais flexíveis que o ultrapassado RMS (Record Management System). E, se o cliente não utiliza nenhuma outra plataforma, não há dúvida, a BB API é a melhor escolha. A favor do uso da CLDC com MIDP somente a portabilidade. Na experiência profissional que eu tenho com Java ME e BlackBerry API, posso afirmar, a grande maioria das empresas e desenvolvedores optam por usar a BlackBerry API. Ainda temos uma plataforma: o Android. O mesmo consiste de uma pilha de software que engloba um sistema operacional baseado em Linux, um middleware, aplicativos nativos comuns em smartphones e um conjunto de bibliotecas utilizadas por estes aplicativos e disponível também a terceiros. Esta pilha é mostrada na Figura 3 abaixo: Figura 3: arquitetura do Android. Em Android Runtime, temos as bibliotecas de núcleo e a Dalvik Virtual Machine. Esta VM substitui a VM que está presente nos aparelhos com Java ME e nos BlackBerry´s. Sendo assim, não é possível programar com Java ME para Android. E a programação Android também não é portável para os aparelhos da RIM (Research in Motion) ou aparelhos JavaME-Enabled. Imagino que com esta explicação consegui deixar claro que apesar de Java ME, BlackBerry e Android usarem a mesma linguagem de programação, cada uma tem usa API (Application Program Interface) próprio e sem portabilidade. Att. Ricardo

Sobre Ricardo Ogliari

Graduado em Ciência da Computação, pós-graduando em Web e analista de sistemas mobile na MobMidia | Grupo Pontomobi, Ricardo Ogliari é autor de dezenas de artigos que foram publicados em anais de congressos nacionais e internacionais, sites especializados e revistas. Palestrante em eventos nacionais e internacionais, como JustJava, Java Day, GeoLivre, ExpoGPS, FISL e FITE, sempre aborda temas relacionados a computação móvel. Neste espaço, discutirá sobre tecnologias, plataformas, mercado, ideias e linguagens presentes no mundo da mobilidade.

Entre em contato com Ricardo Ogliari

Parceiros

Portais: IT Mídia | IT Web | Saúde Web

Publicações: InformationWeek Brasil | CRN Brasil | FH

Fóruns: IT Forum | IT Forum + | IT Business Forum | Saúde Business Forum