j2me – plataforma de desenvolvimento java para

Propaganda
J2ME – PLATAFORMA DE DESENVOLVIMENTO JAVA
PARA DISPOSITIVOS MÓVEIS
Ana Paula Carrion1, Késsia Rita da Costa Marchi1, Jaime Willian Dias1
1
Universidade Paranaense (Unipar)
Paranavaí – PR – Brasil
[email protected], {kessia, jaime}@unipar.br
Resumo. Com o crescimento do uso de dispositivos móveis como celulares e
PDAs (personal digital assistant), houve a necessidade de adequação da
produção de softwares de forma que atendesse a este grupo específico de
dispositivos. Java é a linguagem de programação mais utilizada pelos
desenvolvedores de software e também a que mais cresceu desde o seu
surgimento e, a partir dela foi possível criar uma plataforma de
desenvolvimento reduzida, porém completa, com todas as características que
atendem as necessidades específicas deste tipo de aplicação, a plataforma
J2ME.
1. Introdução
Java é uma linguagem de programação orientada a objeto desenvolvida na década de 90
por uma equipe de programadores da empresa Sun Microsystems. Desde seu
lançamento em maio de 1995, esta foi a plataforma adotada mais rapidamente do que
qualquer outra linguagem de programação na história da computação. Em constante
crescimento, esta linguagem tornou-se referência no mercado de desenvolvimento de
software, tornando-se popular pelo seu uso na internet. Hoje possui ambiente de
execução presente em navegadores, sistemas operacionais, celulares, entre outros. Em
2007 a Sun Microsystems tornou a linguagem de programação Java um software livre,
disponibilizando praticamente todo código Java, menos uma pequena porção da qual a
Sun não possui copyright.
Segundo Nunes [2002], das tecnologias no campo dos computadores, a
linguagem Java foi das que teve maior efeito no mercado. Desde páginas web usando
applets Java, até aplicações desenvolvidas completamente nesta linguagem, a linguagem
Java tem honrado seu slogan “Write Once, Run Anywhere” [Depiné 2002].
Desde então, o aumento da utilização de dispositivos móveis que fazem uso de
tecnologia sem fio, agregado à necessidade da qualificação do poder computacional,
bem como das suas tecnologias, culminaram na valorização dos aplicativos para
dispositivos móveis, e o aumento da demanda de seu desenvolvimento. Para isso,
tornou-se necessário adequar a tecnologia Java de forma a atender os requisitos
específicos destes dispositivos, consequentemente nos deparamos com a tecnologia
Java 2 Micro Edition (J2ME), que é uma versão reduzida da linguagem Java, utilizada
especificamente para a programação destinada à dispositivos móveis.
A J2ME disponibiliza para o desenvolvimento de aplicações destinada a
dispositivos móveis uma Máquina Virtual Java, chamada de KVM, pequena devido as
restrições de memória destes dispositivos, e ainda a Connected Limited Device
Configuration (CLDC) ou Connected Device Configuration (CDC), onde encontram-se
as aplicações Java sem fio, responsáveis pela entrada, saída de dados e conexão e a
Mobile Information Device Profile (MIDP), que possui a biblioteca da interface gráfica,
e as classes de persistência
Neste artigo, após uma breve descrição dos conceitos da linguagem de
programação Java, será abordada a J2ME, a versão reduzida de Java destinada ao
desenvolvimento para dispositivos móveis.
2. Java
Segundo Depiné [2002], Java é uma linguagem computacional completa e adequada
para o desenvolvimento de aplicações baseadas na internet, redes fechadas ou ainda
programas executáveis. Diferente das outras linguagens mais estruturadas e de baixo
nível, é orientada a objetos. Devido sua portabilidade, permite que seu código seja
executado em diferentes ambientes operacionais, tornando-se uma linguagem ainda
mais eficiente. Possui tratamento de erros que não permite falha quando o código é
executado em condições normais, e ainda possui bibliotecas que permitem aplicações
padrão para os desenvolvedores a partir da plataforma de desenvolvimento.
A versão Java está dividida em:
• Java 2 Standard Edition (J2SE): tecnologia projetada para computadores
pessoais e ambientes de trabalho;
• Java 2 Enterprise Edition (J2EE): tecnologia direcionada para aplicações
baseadas no servidor, contendo suporte interno para JavaServer Pages (JSP),
sXtensible Markup Language (XML) e servlets;
• Java 2 Micro Edition (J2ME): plataforma direcionada para dispositivos com
poucos recursos computacionais, como palms e celulares;
• Java Card: plataforma que uniu o smart card com algumas funcionalidades de
segurança (figura 1).
Figure 1: Edições da Linguagem Java e Seus Respectivos Alvos de Aplicação (Fonte: http://www.devmedia.com.br/conceitos-­‐basicos-­‐das-­‐plataformas-­‐java-­‐e-­‐j2me/6484 Acesso em: 31/05/2013) 3. J2ME
A linguagem de desenvolvimento J2ME possui uma coleção de tecnologias e
características específicas para o desenvolvimento de aplicações para dispositivos
portáteis. Essa plataforma é capaz de atender diversos dispositivos que apresentam
muitos pontos em comum, mais diferenciam-se em suas características e
funcionalidades, processamento, memória e interação com o usuário. Desta forma,
foram estabelecidos conceitos essenciais que diferem na utilização da plataforma para
dispositivos de uma mesma “família”, ou seja, com características similares.
A arquitetura J2ME é modular e escalável, definidas em um modelo de 3
camadas embutidas sobre o sistema operacional de cada dispositivo: camada de perfil,
camada de configuração e camada do interpretador (figura 2).
Figure 2: Arquitetura da Plataforma J2ME (Fonte: http://www.devmedia.com.br/j2me-­‐midp-­‐os-­‐primeiros-­‐passos-­‐
para-­‐o-­‐desenvolvimento-­‐de-­‐aplicativos-­‐para-­‐celulares/120 Acesso em: 31/05/2013) A camada de perfil é a mais visível para usuário e desenvolvedor, define as
bibliotecas específicas para a interface gráfica e as classes de persistência de
dispositivos. Existem três perfis que auxiliam a configuração CDC: FP (Foudantion
Profile), P (PersonalProfile) e o PBP (Personal Basis Profile). Há ainda, mais dois perfis
definidos que ajudam a complementar as configurações CLDC: o MIDP e o IMP
(Information Module Profile). A combinação do CLDC e do MIDP garantem uma
plataforma completa de desenvolvimento para a criação de aplicações para dispositivos
portáteis. Uma aplicação Java baseada na configuração CLDC e no perfil MIDP é
conhecida como Midlet.
A camada de configuração define uma plataforma mínima de desenvolvimento
para um grupo de dispositivos com características parecidas, tanto na memória como no
processamento, caracterizando a linguagem utilizada, máquina virtual, bibliotecas e
aplicações. Existem duas configurações definidas: o CLDC, utilizado em dispositivos
com capacidade limitada (celulares, etc.), e o CDC, utilizado em dispositivos com mais
capacidade de memória e processamento (televisores, etc.).
A camada do interpretador é uma implementação da máquina virtual Java
específica para os dispositivos móveis, o Kilobyte Virtual Machine (KVM) é o
interpretador Java otimizado para estes dispositivos com recursos limitados, utilizado
pela configuração CLDC.
4. Midlets
Uma Midlet é um aplicativo em Java pra dispositivos móveis, mais especificamente da
plataforma J2ME, utilizando CLDC e MIDP. É gerenciada por um software chamado
AMS (Application Management Software), presente em cada dispositivo. Em geral são
aplicações para serem executadas em celulares, como jogos entre outros.
A classe principal de uma Midlet deve estender a classe
javax.microedition.midlet.MIDlet, nessa classe devem ser definidos três métodos:
startApp(), pauseApp() e destroyApp(), que definem os estados do ciclo de vida de uma
Midlet (figura 3). Ele também deve ser empacotado em um arquivo.jar, e este deve ser
pré-verificado.
Figure 3: Ciclo de Vida de uma Midlet (Fonte: http://www.devmedia.com.br/j2me-­‐midp-­‐os-­‐primeiros-­‐passos-­‐
para-­‐o-­‐desenvolvimento-­‐de-­‐aplicativos-­‐para-­‐celulares/120 Acesso em: 31/05/2013)
O estado inicial de uma Midlet é pausado, assumido assim que ele começa a ser
construído, ou ainda, ele pode retornar a este estado quando necessário, como por
exemplo, para atender a uma ligação, é acionado o método pauseApp(). Para acionar o
método startApp() e mudar o estado da Midlet de pausado para ativo é preciso somente
inicializar o aplicativo. E para terminar a sua execução e liberar os recursos é necessário
acionar o método destroyApp(), a partir de qualquer estado que o aplicativo se
encontrar.
4. Metodologia
Este artigo procurou através de revisão bibliográfica elaborar um trabalho sobre a
linguagem de programação Java, e aprofundar-se na plataforma de desenvolvimento
para dispositivos móveis J2ME, com o objetivo de descrever seus principais conceitos.
5. Conclusão
Com o conteúdo apresentado pode-se concluir que o crescimento acelerado do uso de
dispositivos móveis, principalmente celulares, fez evoluir também as características da
linguagem de programação Java, no qual foi necessário adaptar a plataforma de forma
que atenda as características especificas deste grupo.
Existem várias linguagens de desenvolvimento para aplicações móveis além de
Java, como por exemplo Pascal, C, C++, Objective C, entre outros, por isso, é
necessário que o desenvolvedor analise cuidadosamente antes de decidir qual
plataforma utilizar para maximizar o alcance de suas aplicações.
Existem também muitas plataformas de desenvolvimento que podem atender
este tipo de aplicação, no entanto muitas apresentam características incompatíveis, o
que não permite que um aplicativo seja executado em uma plataforma diferente da
utilizada para seu desenvolvimento. Este é um dos principais motivos que levam ao
crescente uso da plataforma J2ME, permitir que a aplicação seja executada
independente do ambiente computacional, além do fato que é uma linguagem
estruturada, que oferece suporte, bibliotecas padrões e APIs personalizadas, bem como é
a linguagem que mais se ajusta às necessidades dos dispositivos móveis (mémoria,
armazenamento e processamento limitado).
Referências
Artigo Protótipo de Software para Dispositivos Móveis Utilizando Java ME para
Cálculo
de
Regularidade
em
Rally.
Fabio
Marcelo
Depiné.
http://campeche.inf.furb.br/tccs/2002-II/2002-2fabiomarcelodepinevf.pdf. Acesso em:
01/06/2013.
Conceitos Básicos das Plataformas Java e J2ME. Cristiano Fioresi.
http://www.devmedia.com.br/conceitos-basicos-das-plataformas-java-e-j2me/6484.
Acesso em: 31/05/2013.
Desenvolvimento de Aplicativos para Dispositivos Móveis na Plataforma J2ME. Bruna
Georgina Bunzen de Albuquerque Romeiro. http://tcc.ecomp.poli.br/BrunaRomeiro.pdf.
Acesso em: 01/06/1013.
J2ME MIDP – Os Primeiros Passos Para o Desenvolvimento de Aplicativos para
Celulares. Gabriel Fernando Andriolli. http://www.devmedia.com.br/j2me-midp-osprimeiros-passos-para-o-desenvolvimento-de-aplicativos-para-celulares/120.
Acesso
em: 31/05/2013.
J2ME – Plataforma Java para Dispositivos Móveis. Leonardo da Silva Sousa.
http://www.ebah.com.br/content/ABAAAelI4AJ/j2me-plataforma-java-dispositivosmoveis. Acesso em: 31/05/2013.
Lemay, Laura; Perkins, Charles L. Aprenda em 21 dias java, 4. Ed. Rio de Janeiro,
Campus, 1997.
Plataformas J2ME, J2EE e J2SE: Onde Utilizá-las. Adriano Andreo Jandre.
http://web.unipar.br/~seinpar/artigos/Adriano-Andreo-Jandre.pdf.
Acesso
em:
31/05/2013.
Sierra, Kate. SCJP: Certificação Sun para Programador Java 6; 1. Ed. Nacional, Alta
Books, 2009.
Download