Aplicações Ricas para Bilhão de Dispositivos: O que é o LWUIT?     

Embora os melhores e mais inteligentes  smartphones, adquiriram muito da nossa atenção nos últimos dias(até o presente momento desse artigo, é claro), desenvolvedores para aplicativos móveis percebem que isto só representa uma pequena fração do espaço, no mercado,  no que dizemos sobre a mobilidade global.

 Através de comparação, telefones móveis baseado na Java Micro Edition, inclusive a Black Berry, Nokia, Sony Ericsson, e muitos outros fabricantes, representam aproximadamente 2.6 bilhões dispositivos ou dois terços do total funcionando a todo momento.  

Então, para os desenvolvedores que buscam desenvolvimento rápido, prático a adoção do conteúdo, para esse público, o apoio a portabilidade tornou-se altamente importante.

Tradicionalmente, a interface de usuário (GUI)  apresentam um bloco de aplicações/operações,  que na verdade ainda tropeça quando pensamos em adotar a acessibilidade nos sistemas móveis, digo no âmbito de facilidade, pois nem todo mundo ainda aprendeu a mexer nesses "presentinhos", muitos ainda só usam para aplicações básicas,  nesta consideração --toolkits de UI para interfaces são freqüentemente específicas a uma plataforma e o código UI-relacionado, numa tentativa de corroborar com a mudança de paradigma.

Como resultado, a entrega de aplicações que sigam esse conceito ainda é bem difícil de se fazer e de se encontrar.

O que é preciso então?

Seria interessante termos uma ferramenta projetada a esse fim, como um  toolkit de UI plataforma-independente, que tenha seja pouco exigente quanto à memória,  razoavelmente com  as exigências de recursos multi-processados, existentes no mercado, com uma interface rica para o usuário e altamente produtiva ao desenvolvedor, e de  fonte altamente portátil, e aberta.  

                A Interface de Usuário Toolkit, o LWUIT,  liberado em  2008, foi um grande benefício aos desenvolvedores móveis.

Mas o que é essa tal LWUIT?

 A LWUIT é uma biblioteca de UI focada a uma gama extensa de dispositivos móveis habilitados, os mais comuns do mercado. A funcionalidade mais marcante da LWUIT é fazer com o que o desenvolvimento e manipulação de aplicações ricas e atrativas seja mais fácil e acessível do que nunca. LWUIT é uma tecnologia aberta com seu código-fonte livre e acessível para comercial ou não.  

LWUIT Screen Shots

 

Neste artigo você verá uma breve avaliação da LWUIT ainda, que pouco conhecida, junto com uma lista de recursos para nossa aprendizagem. O resto do artigo foca nas mais recentes características e esclarecimentos da LWUIT 1.3, junto com downloads prontos para estudo específico da mesma.  

  Como descrito acima, LWUIT é uma biblioteca de UI que é autorizada GPLv2 free.   

                LWUIT oferece capacidades de UI avançadas e um API limpa. Com a LWUIT, o desenvolvedor Java não precisam escrever código para um dispositivo específico ou para tamanhos de tela diferentes, mas ao invés disso, pode incluir componentes de UI como convier.     

Olhemos para o LWUIT agora e veremos uma aplicação demonstrativa com algumas das características da LWUIT como personalização de temas(skins), animações, botões, transições, e muito mais. O três screenshots abaixo, nos animam nessa fantástica experiência:  

 

Olha só pessoal, aqui estamos rodando também a mesma aplicação em 3 dispositivos diferentes, são eles:

Screen shot 1: Java ME SDK 3.0 Mobile Emulator
Screen shot 2: Sony Ericsson G705
Screen shot 3: HTC Diamond com touch screen

Graças ao toolkit de LWUIT a aplicação apresenta uma interface de usuário rica e consistente aos dispositivos e automaticamente adapta e tira proveito de propriedades dispositivo-específicas como tamanho de tela, capacidades de gráficos, e apoio de tela de toque sem qualquer esforço extra pelo desenvolvedor. E até para TELEVISÃO interativa (veja: http://en.wikipedia.org/wiki/Ginga-J).

A TV Set-Top Box User Interface Based on LWUIT

 

Modelo de Desenvolvimento Padrão

            Segue o padrão MVC conforme a figura abaixo:

LWUIT está baseado no MVC. Por exemplo, o Componente de Lista pode exibir um número ilimitado de artigos porque só faz o que é visível, enquanto o modelo tiver a responsabilidade de dados. Você pode mostrar uma lista muito grande sem preocupar sobre consumo de memória.  

 

Desenvolvimento rápido: Um dos benefícios-chave de LWUIT é desenvolvimento rápido.

Considerando que o API está inspirado no Swing, fácil de aprender e adotar. O próprio LWUIT foi construído do nada e não depende de AWT.  

  Portabilidade: Outro benefício é portabilidade, e pequeno, se qualquer, código dispositivo-específico. Para assegurar portability, LWUIT foi construído usando elementos comuns à nível  MIDP 2.0.  

  Flexibilidade: Flexibilidade ainda é outro aspecto importante: Quase tudo em LWUIT é customizável e extensível, assim se houver uma característica perdida ou componente, você pode criar seu próprio código.  

  Desenvolvimento fácil: Não só é LWUIT extremamente poderoso, bem projetado,  fácil usar, também é fácil desenvolver. Durante desenvolvimento, simplesmente empacote a biblioteca de LWUIT e recursos com a aplicação. Os componentes de LWUIT se tornam uma parte integrada da sua classe de desenvolvimento de aplicação e são carregados de forma transparente. 

  Gama extensiva de Plataformas: LWUIT requer só MIDP 2.0 e CLDC 1.1 (ou capacidades de gráficos básicas semelhantes em outras plataformas) e está sendo testado continuamente, COM memória limitada, telas pequenas, e teclados complementares numéricos todo o modo para alto-terminar dispositivos com processadores rápidos, telas de toque de alto-resolução, e teclados embutidos.  

  Características de chave :

Widgets Rico: LWUIT oferece um jogo rico de widgets de UI fora da caixa: widgets básico como rótulo, botões , caixa de texto, campo de contribuição, etc., como também widgets avançado como lista, mesa, calendário, árvore, explore files, teclado virtual, renderer de HTML, e mais 

Tela de toque: Todos os componentes de LWUIT apóiam eventos de toque. De nenhuma codificação especial é precisada para uma aplicação de LWUIT para correr em um dispositivo toque-habilitado. Cinéticas de Pluggable habilitam comportamento feito sob demanda. 

Animações & Transições: Vários efeitos visuais que disponíveis pela biblioteca acrescentam vida a aplicações, enquanto utilizando capacidades de gráficos avançadas da plataforma subjacente automaticamente. 

3D e SVG Gráficos integração 

Apoio de apoio de texto bidirecional para direito para texto esquerdo 

I18N/L10N 

API limpo, familiar Swing. 

Aplicações são altamente portáteis e executando bem por uma gama extensiva de dispositivos móveis. 

Possui ainda um LWUIT Theme Criator. 

LWUIT Theme Creator

 

No próximo artigo daremos continuidade no estudo dessa importante ferramenta.

Carlos Mazzi
Carlos@jcsistemas.com