Mostrando postagens com marcador LWUIT. Mostrar todas as postagens
Mostrando postagens com marcador LWUIT. Mostrar todas as postagens

sexta-feira, 31 de julho de 2009

LWUIT (The Lightweight UI Toolkit ) - Versão 1.2

Uns dias atrás começei a fazer um projeto que utilizava J2ME e para parte gráfica escolhi testar o LWUIT, pois vi que era bonito o layout e tinha bastantes recursos, era meio que parecido com fazer interfaces par Desktop com o swing. Quando começei a utiliza-lo fiquei meio triste com o desempenho dele, tentei rodar em um aparelho com a plataforma s40 da nokia, porém ele consumia muita memória e ficava inviavel, na verdade até no emulador da sun o negócio ficava lento. Para minha felicidade, dia 15 de julho saiu a versão 1.2 do LWUIT, e eu baixei logo para fazer uns tetes. A galera deu uma investida em performance, correções de bug e colocou uns efeitos a mais. Agora que a SUN está investindo, o LWUIT deve ficar bem bacana.

Abaixo tem as principais mudanças da nova versão e um teste de consumo de memória entre a versão mais nova e a versão antiga.

Highlights

  • New Styling concept added selected and unselected styles.
  • New LWUIT Designer with support for new styles, gradients, exporting ant task, Copy & Paste, complex image borders, improved preview and much more
  • Support for setUIID in Component allows customizing the component style selector
  • More options for background painting (gradients, tiling hints, centering).
  • Support for more elaborate scrolling use cases and nested scrolling
  • Initial support for SVG used everywhere in LWUIT including backgrounds and as icons seamlessly and ability to fallback gracefully when JSR 226 isn't supported on the device.
  • Initial support for upcoming MIDP 3 features when available such as truetype fonts.
  • Removed the resource builder Ant task and replaced it with a new Ant task based on the code of the LWUIT Designer for improved support/compatibility
  • New calendar component implementation featuring improved customizability and touch support
  • Initial resource file specification
  • Bug fixes and stability
  • Performance improvements


Teste de memória entre as versões:

Nesse teste eu rodei a aplicação DEMO do LWUIT e cliquei em cada opção do menu, para ver como ficaria o consumo de memória da aplicação. Depois de ter clicado em todas as opções da aplicação, a versão antiga ficou com:

Utilizada: 566300 bytes ou 553,02 Kb
Maxima: 1084156 bytes ou 1058,74 Kb

e a versão 1.2 ficou com:

Utilizada: 317004 bytes ou 309,57 Kb
Maxima: 832724 bytes ou 813,20 Kb

Teve uma melhora no consumo de memória e pelo gráfico da para ver que ele libera mais memória após o coletor de lixo passar.


Versão Liberada em 20080605
OBS: Clique na imagem para ver em alta resolução.




Versão 1.2:
OBS: Clique na imagem para ver em alta resolução.

terça-feira, 7 de julho de 2009

LWUIT (Lightweight UI Toolkit )

Eu já tinha ouvido falar à um tempo atrás que existia uma api para gráficos em J2ME bastante bonita, com efeitos de telas legais e tudo mais, mas nunca fui atrás fazer uma aplicação de teste, porém, como estou fazendo minha pós-graduação em dispositivos móveis e pagando a cadeira de JME, decidi fazer o projeto com ele. Fiquei com um pé atrás, pois, quero chegar a utilizar a aplicação em um ambiente real e não apenas para a disciplina, e pelo que tinha visto e ouvido falar, era tudo muito lindo, porém extremamente pesado. Montei o ambiente para fazer o projeto e nos primeiros testes com os emuladores, a aplicação ficou bem pesada.. ai fiquei cismado, porém fiz umas pesquisas e vi uns videos do pessoal utilizando o LWUIT nos devices e fiquei surpreso com o desempenho. Porém, para minha tristeza, acho que os cara do vídeo tava fazendo mágica, porque só em abrir a aplicação já consome 450kb de memória e ao abrir apenas uma outra tela, já vai para 750kb. Como meu celular é bem peba(rsrs), um nokia 2660, ele utiliza a plataforma S40, as configurações dele são:
Maximum User Storage 2 MB
Maximum Heap Size 600 KB
Maximum JAR Size 256 KB

logo, com 600kb de heap é meio que impossível colocar uma aplicação LWUIT nele com themas e e outros recursos, mesmo sendo otimizado.

Conclusão: A api é bem legal, mas está meio verde ainda. É uma boa opção, pois a Sun está investindo nela, já vem no sdk 3.0 do J2ME, e tem muita gente começando a usar, por exemplo, o pessoal de TV digital tá utilizando para fazer aplicações nos set-top-box. Para o futuro deve ser uma ótima opção, ou então, para devices novos que tem bastante recurso ( como os que usa a plataforma S60 da nokia ) .

Vídeo do mágico que colocou para rodar num celular nokia com plataforma S40:






Outros vídeos nos devices:

Um Samsung F480 com TouchScreen
Um HTC com TouchScreen