Você está na página 1de 2

JAVA ME e Andorid Onde manter o foco?

Ambas plataformas so direcionadas a dispositivos que possuem processamento, memria e vdeo limitado, onde o foco maior est em celulares e PDAs. No mundo modernizado em que vivemos, onde os dispositivos mveis tornaram-se equipamentos onipresentes, possuindo o mesmo poder de processamento que computadores de 10 anos atrs, necessrio pensar em tecnologias para desenvolvimento para estes aplicativos. Dentre as tecnologias, atualmente as que mais se destacam para o desenvolvimento mvel o Java ME e o Android. Java ME A plataforma Java Micro Edition direcionada a dispositivos limitados. Alm de celulares e PDAs comum encontramos aplicaes para TVs, controles remotos, entre outros sistemas embarcados. O Java est presente na grande maioria dos celulares, sendo que hoje existe no mercado inmeros jogos e aplicaes desenvolvidos em Java. Um grande diferencial do Java ME sobre as outras plataformas de desenvolvimento a acessibilidade e portabilidade, pois com um baixo custo suas aplicaes poderem ser executadas nas plataformas de vrias empresas de dispositivos mveis, isto acontece graas a KVM (Kilo Virtual Machine), uma mquina virtual com funes reduzidas construda especialmente para implementar as necessidades e restries impostas pela configurao CLDC (Connected Limited Device Conguration). Vale ressaltar que a plataforma Java em si possui uma vasta gama de APIs e frameworks (o que no acontece com as outras plataformas), com o objetivo de otimizar o desenvolvimento de aplicaes muitas das funcionalidades necessrias j foram codificadas, basta encontrar a API ou o framework que a implementem). Os programadores Java ME tambm podem contar com vrias APIs, frameworks, ferramentas, emuladores e plug-ins que enriquecem o arsenal do desenvolvedor. Mas nem tudo vantagem na plataforma Java ME, alm da dificuldade de programar com pouca memria e processamento (limitao do dispositivo), o Java ME tem uma srie de limitaes no que diz respeito ao acesso de funcionalidades nativas do aparelho, pois a segurana do Java est centrada no conceito de sandbox, que consiste na idia de que quando um aplicativo precisa ser executado em uma mquina, deseja-se prover um meio 1. no qual o aplicativo possa rodar, porm este meio possui seus limites. O fato que o Java ME est presente nos aparelhos da maioria dos fabricantes (ex. Nokia, Motorola, Samsung) - e dessa maneira o hardware dos mesmos possuem uma srie de particularidades, o que torna praticamente impossvel criar mecanismos genricos para acesso a recursos especficos do dispositivo. Outra limitao do Java ME o processo para manipulao dos dados persistidos. A configurao CLDC do JavaME, esta disponvel em praticamente todos os aparelhos celulares Java enabled, possui uma grande limitao para manipulao de registro. Nestes dispositivos, os registros so tratados como arquivos binrios, ou seja, so persistidos como um array de bytes, cabendo ao desenvolvedor elaborar lgicas para separar os registros em campos, fazer pesquisas complexas, filtrar registros e at mesmo recuperar um registro especfico. J a configurao CDC (Connected Device Conguration), disponvel para dispositivos no to limitados quanto os CLDC, possui uma mquina virtual mais completa e pode trabalhar com banco de dados relacional, dando suporte inclusive a sintaxe SQL, porm no a melhor alternativa quando necessrio um bom desempenho das aplicaes. Ento para este foco: "Desenvolvimento de aplicaes mveis para grandes corporaes", creio que o Java ME no atenda com tanta eficincia quanto outras plataformas disponveis no mercado. Penso que o Java ME esteja destinado aplicaes mveis voltadas para a "massa", usurios comuns. Android O Android uma plataforma para dispositivos mveis com um sistema operacional baseado em Linux - Criado pelo Google em consrcio com mais de 40 empresas. Utiliza uma mquina virtual, chamada Dalvik, projetada para otimizar a memria e os recursos de hardware em um ambiente limitado. No entanto esta mquina virtual no executa bytecodes no padro da JVM (Java Virtual Machine), desta forma necessria a converso do bytecode padro da JVM para o formato do Android. a primeira plataforma open source para desenvolvimento de aplicaes mveis, portanto livre para incorporar novas

tecnologias, j que o Google optou por usar uma mquina virtual prpria, distanciando-se da Sun e JCP, ocasionando um rpido avano da plataforma. Por possuir um SO relativamente novo, esta tecnologia ainda est em 2. aceitao pelos usurios e desenvolvedores. Existem duas grandes vantagens nesta plataforma, uma o fato de j ser agregada com todas as funcionalidades que os aparelhos mveis mais atuais fornecem, a outra a criao do Android Market, a loja de aplicativos da plataforma (semelhante a App Store do iPhone), que j vem integrada nos aparelhos, desta forma o usurio pode escolher dentre milhares de aplicativos os que mais lhe agradam. importante ressaltar que os servios da Google passam a ser facilmente acoplados com as tecnologias mveis aps o surgimento do Android, j que o interesse e os investimentos atuais da empresa visam mobilidade. O Android foi construdo com a inteno de permitir que os desenvolvedores possam criar aplicaes tirando maior proveito do que o aparelho possa oferecer. Tudo construdo em Java, desta forma os desenvolvedores Java podem construir aplicativos e disponibiliza-los facilmente. Os desenvolvedores tm acesso a mesma API utilizada nos aplicativos centrais, podendo aproveit-las livremente para acessar recursos nativos do aparelho. Por ser open source, voltam algumas polmicas antigas: Se todo mundo mexer no cdigo isso no vai virar uma baguna?. Talvez, tanto que o SO j nasceu fragmentado, e precisa se padronizar. Mas pensando desta forma, se o Linux open source e possui vrias distribuies, onde cada usurio opta pela que mais lhe agrada, imagine se todos os usurios e desenvolvedores mantivessem o foco em uma nica distribuio. Ser que esta distribuio iria tomar propores to grandes a ponto de se tornar um SO referncia tanto para leigos quanto para desenvolvedores? Alm dos aplicativos feitos em Java, o Android possui um conjunto de bibliotecas C/C++ usadas por diversos componentes que permitem trabalhar com arquivos de mdia, exibio de contedo em 2D e 3D, inclusive bibliotecas implementadas utilizando OpenGL e um poderoso e leve banco de dados relacional, o SQLite. Este ltimo um grande diferencial em relao ao Java ME, pois o SQLite j possui mtodos de indexao. Com um gerenciador possvel criar um banco de dados no ambiente de desenvolvimento e instal-lo no dispositivo, o que acelera o processo de desenvolvimento, visto que os dispositivos possuem um poder de processamento limitado. Apesar da grande quantidade de recursos e de funcionalidades que a plataforma oferece, ainda est nascendo e algumas funcionalidades faltam ser implementadas, alm de possuir poucos aparelhos no Brasil que a suportem. Pode ser demagogia, mas praticamente tudo que a Google pe a mo vira ouro! Ento espere o melhor. Concluso Ambas tecnologias se mostram bastante robustas no desenvolvimento mvel, mas caso a inteno seja desenvolver aplicaes atingir a maioria dos usurios e dispositivos, com uma aplicao que no exige tanto processamento, mas sim funcionalidade, o Java ME o ideal, mas se o objetivo ter acesso a todas funcionalidades que o dispositivo oferece, trabalhar de uma forma genrica, sem que haja restries devido a portabilidade, inclusive com aplicaes que exigem um bom desempenho com banco de dados relacional, ento o Android a melhor opo. Porm em algumas situaes o programador se sente motivado em contornar as limitaes da plataforma, aceitando o desafio de trabalhar com a limitao do Java ME, e nessa situaes, com certeza o resultado final ser mais satisfatrio, visto que os aplicativos podem rodar em diversos devices, sem a necessidade de um hardware especfico. O Java ME limitado porque sua plataforma enxuta, cujo foco a filosofia Write here, run Anyware (Codifique uma vez, rode em qualquer lugar). Por Rodolfo Chaves Fernandes chavesrodolfo@gmail.com Revisado pela equipe Java Mvel