Qual a principal API Opcional do Java ME v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);}

Qual a principal API opcional da Java ME?

 

A arquitetura da plataforma Java ME da linguagem Java apresenta uma estrutura direcionada aos dispositivos com poucos recursos computacionais, no que tange a quantidade de memória e poder de processamento, porém, a plataforma não exclui totalmente dispositivos considerados high-end.

 

Para isso, a plataforma inclui o conceito de pacote opcionais, permitindo que características como Bluetooth, geo-referenciamento, imagens vetoriais, móbile payment possam ser manipuladas pelos desenvolvedores de aplicativos mobile. Cada um destes pacotes é identificado por uma JSR (Java Specification Request), gerenciado pela JCP (Java Community Process).

 

Ultimamente, o número de JSR´s aprovadas pelo JCP vem aumento. No momento que este pequeno texto está sendo escrito, o site oficial do JCP apresenta 83 JSRs para a plataforma Java ME, sendo que nem todas estão aprovadas e prontas para uso da comunidade.

 

Com tantas possibilidades, os programadores podem se perguntar, existe alguma delas que poderia ser indicada como a mais importante? Talvez a JSR-82, que define o uso de comunicação sem fio através da tecnologia Bluetooth, ou ainda, a Java Location API, devido a crescente oferta de serviços de geo-referenciamento? Bem, se vocês me permitem, digo que o pacote opcional mais importante para o Java ME, não está dentre as JSR´s da JCP, e sim em uma toolkit chamada LWUIT.

 

Quem programa para a plataforma Java ME sabe na ponta da língua um dos principais problemas em relação a outras plataformas e/ou linguagens: a construção de interfaces gráficas. Temos dois caminhos, o primeiro é utilizar os componentes prontos, como DateField, ImageItem, dentre outros. Sabemos que este é o caminho é o menos árduo, porém, enfrentamos alguns revés, como falta de portabilidade e falta de opções. Para suprir as necessidades do uso de Screen, podemos utilizar classes que herdem diretamente de Canvas ou GameCanvas. Porém, o trabalho de construção de UI se torna mais árduo.

 

A biblioteca Lightweight UI Toolkit (LWUIT) fornece uma ferramenta para auxiliar na construção de interfaces gráficas ricas em dispositivos que suportem a MIDP 2.0. A LWUIT traz um conjunto de componentes mais amplos que a MIDP, além de permitir uma configuração de cor, comportamento e até mesmo temas. Veja a Figura 1 com o com componente ComboBox.

 

qpapiojmefig01.gif

Figura 1. Componente ComboBox.

 

Além disso, a biblioteca permite que efeitos 3D de transição de tela sejam aplicados a sua aplicação. Um ponto fraco para a API é seu tamanho, que ultrapassa os 200kb, porém, em contrapartida, os desenvolvedores podem excluir os quesitos que não serão usados da LWUIT. Outro ponto forte é seu modelo ser inspirado no Swing, extensamente utilizado na programação de aplicativos Java SE. Pra completar, o suporte a imagens SVG é opcional e existe uma engine interna que implementa eventos para interfaces touch-screen.

 

Sendo assim, é de suma importância que os desenvolvedores Java ME conheçam está estupenda ferramenta. Com isso, os aplicativos ganham uma nova possibilidade, podendo apresentar uma interface rica, conquistando os corações mais céticos em relação à plataforma Java ME.