É este o Apocalipse para o JavaME?
A não ser que você esteja morto — ou vivendo na selva com sua amiga bola-de-vôlei — você provavelmente deve ter visto que ontem foi lançada a SDK do projeto Android, cuja idéia é fornecer a primeira plataforma móvel aberta. O Android é um projeto que, apesar de estar dando os primeiros passos rumo ao seu objetivo, conta com nomes de peso a seu favor; a Open Handset Alliance, grupo de mais de 30 empresas de tecnologia envolvidas no Android, promete inovar o cenário e melhorar a “experiência móvel” dos usuários.
Confesso que a notícia me deixou curioso. Por isso, eu aproveitei para fazer o download da SDK, instalei o ADT no meu Eclipse e segui alguns dos tutoriais apresentados na documentação. Apesar de ter gostado do negócio, posso dizer que não há muitas novidades em termos tecnológicos. A grande sacada se concentra no direcionamento dessa iniciativa.
Voltando um pouco no tempo, quando o JavaME surgiu, obviamente a situação era bem diferente: os dispositivos eram caros e extremamente limitados. Não conheço muito bem tudo o que aconteceu entre o lançamento do JavaME e seu boom, mas o resultado todo mundo conhece; dezenas de milhões de dispositivos Java-enabled circulando pelo mundo. A máquina virtual Java, ainda que “capada”, possibilitava que desenvolvedores pudessem rapidamente adaptar seus conhecimentos e produzir aplicações capazes de rodar nesses pequenos aparelhos. Ou seja, foi um tremendo sucesso.
Ou quase.
A questão do “menor denominador comum” começou a deixar muita gente p*ta da vida, levando os fabricantes a disponibilizarem SDKs para seus dispositivos. Já que o JavaME puro não permitia que os desenvolvedores pudessem aproveitar melhor os recursos específicos a um ou outro aparelho, bastava usar tais SDKs, mesmo que isso levasse a uma dependência que ia de encontro aos objetivos do próprio JavaME.
Voltando ao assunto inicial desse post… o Android, por sua vez, se aproveita desse momento de “abundância tecnológica” para seguir num caminho diretamente oposto; enquanto que o JavaME buscava criar uma fundação capaz de rodar em um grande número de pequenos dispositivos, o Android busca reunir o que há de mais avançado em termos de tecnologia móvel de modo a fornecer uma melhor experiência aos usuários. E claro, o Android em si pode ser visto como o resultado de um trabalho de padronização de plataforma móvel — algo até nos moldes do JavaME — mas com um outro direcionamento, algo alinhado à nossa “futura realidade”. E quer saber? Eu gostei!
O que acontecerá com o JavaME? Será seu fim? Apesar dos pesares, o JavaME ainda é útil e, portanto, não sumirá tão cedo. Ao contrário do que muitos acreditam, ele não se resume apenas a celulares; existem também uma porrada de outros dispositivos que, apesar de (ainda) limitados, abrem um leque interessante de possibilidades. A TV digital é um bom exemplo desse tipo de dispositivo.
Mas, de qualquer forma, será bem interessante ver a movimentação do pessoal da Open Handset Alliance. Na minha opinião, o mais difícil — que é montar um grupo cheio de gente competente — já foi feito. O resto é conseqüência.
Tags: android, java, javame, jvm, mobilidade, open handset alliance, opiniões, sun

13 de novembro de 2007 às 7:23 am
Recentemente li um artigo em um blog em que dizia que o J2ME estava com os dias contados (aproximadamente 10 anos de vida ainda..) pelo fato de que os celulares estariam com uma capacidade melhor de processamento e seriam capazes de rodar aplicações J2SE. Se isso acontecer.. talvez já seria o “fim” do android?
13 de novembro de 2007 às 10:19 am
Talvez o que possa determinar se o Android vai pegar ou não são dois fatores:
a) Atualmente, ainda não existe uma forma dos desenvolvedores escreverem aplicações nativas para o celular. Apesar de já ter gente reclamando disso, por enquanto, só se pode desenvolver aplicações para o Android com Java. O pessoal da Google diz que, se o problema que motiva a criação de aplicações nativas é a performance, então os desenvolvedores podem ficar tranqüilos, pois a JVM foi projetada para se conseguir o máximo de performance e um baixo consumo de memória;
b) A máquina virtual do Android, embora seja próxima ao JavaME CDC, na verdade é uma máquina virtual customizada (Dalvik), que não se encaixa nem no JavaSE, nem no JavaME. A API também se aproveita de alguns projetos Open Source importantes, como o Commons HTTPClient, da Apache.
Mas, como esta é uma plataforma aberta, tudo pode acontecer. Aliás, o próprio pessoal da Google disse que esse lançamento “prematuro” da SDK é uma forma de ouvir os desenvolvedores e suas opiniões a respeito da plataforma, antes que se inicie a produção dos aparelhos. Eu achei isso muito bom, pois é o oposto do que costuma acontecer em outras bandas; o iPhone, por exemplo, só terá sua SDK liberada em Fevereiro, mais de seis meses após o aparelho ter sido lançado.
13 de novembro de 2007 às 11:18 am
Olá.. bem, queria dizer que eu acho que é prematuro falar sobre o fim do Java ME, isso porque sempre vai existir equipamentos com recursos computacionais limitados, e acredito que por muito tempo irá existir um espaço para o Java ME/MIDP. Também tem outra questão, o Android não vai acabar com outros SO já existentes no mercado, apesar de também ter baixado o SDK e ter gostado muito, não acho que isso seja o Java ME, de maneira alguma.
13 de novembro de 2007 às 11:57 am
Também compartilho da sua opinião… o título foi só uma forma de sensacionalismo.
13 de novembro de 2007 às 12:32 pm
Na minha visão tudo é muito incerto, as empresas estão disputando a tapas esse mercado.
Temos J2ME, Symbiam, JavaFX (SavaJe), Windows Mobile, iPhone e agora Android.
Realmente dificil saber o que vai acontecer!
Espero ancioso pelo dia que eu possa comprar um dispositivo movel, formatar o bixo e instalar o SO que eu quiser!! Seria bem legal…
13 de novembro de 2007 às 12:49 pm
Eu já ficaria feliz em ter dinheiro para comprar um desses dispositivos. Qualquer um.
13 de novembro de 2007 às 1:33 pm
É, difícil realmente prever o que vai acontecer, eu apostaria somente na computação ubíqua e convergência de tecnologias, o resto não arriscaria palpite. Aliás, bem legal este seu blog Daniel, vou colocar nos favoritos do meu blog, peço que de uma olhada no http://www.mobilidadetudo.com, se gostar não ficarei bravo se colocar nos seus favoritos aí tb :).
Falow
3 de dezembro de 2007 às 4:31 pm
Muito interessante sua comparação do JavaME com o Android. Parabens.
7 de fevereiro de 2008 às 5:34 pm
Primeiramente parabéns pelo post, ficou muito bom!.
Vamos lá, sempre programei em java (tanto utilizando JME quanto JSE) e vejo agora no Android outros horizontes. Não sei se isso é uma coisa momentênea por ter inúmeras pessoas comentando sobre esse o novo “brinquedo” do Google mais uma coisa é certa - também gostei desse “tal Android”. Instalei e o que vi foi uma plataforma bem poderosa e promissora.(acho)
Aproveitando a oportunidade (se me permite) queria fazer um convite aquelas pessoas que desejam obter mais informações sobre o android. Mantenho um fórum de discussão sobre tal. O endereço é http://www.portalandroid.org
Um abraço Daniel! Sem mais,
Jaison.