Sun libera el Lightweight UI Toolkit para Java ME
El pasado Jueves, el equipo a cargo del desarrollo del LWUIT (Lightweight UI Toolkit - kit de herramientas liviano para interfaces gráficas) anunció su liberación mediante la publicación del código fuente utilizando la licencia GPL v2 con Classpath Exception. Este toolkit, que fue presentado hace solo 3 meses en la última edición de la conferencia JavaOne ya goza de un gran nivel de adopción por parte de desarrolladores y empresas, y la decisión de Sun de convertirlo en software libre utilizando esta licencia (que provee los beneficios de los desarrollos libres combinados con la ausencia de riesgo al momento de adoptarla en productos comerciales) no hace más que incrementar dicho nivel de adopción.
¿Y quien este tal LWUIT?
LWUIT es una biblioteca inspirada en Swing (de hecho, si ya saben programar interfaces con Swing, pueden ver la siguiente presentación titulada "LWUIT introducition for Swing developers" de Shai Almog) de fácil integración con la aplicación de base. La idea principal es la de proveer interfaces gráficas de gran calidad compatibles con la más amplia variedad de dispositivos móviles posibles. Es decir, es un nuevo intento de eliminar la fragmentación (+info sobre el tema en alguno de estos dos artículos: "The Fragmentation Effect" de Allen Lau y "Fragmentation of Mobile Applications" de Damith C. Rajapakse).
Hablando técnicamente (un poco, al menos) LWUIT es una biblioteca que funciona sobre dispositivos móviles que respetan los estándares MIDP 2.0, CDC, FP y/o PBP, cuya integración con la aplicación es tan sencilla como realizar una inclusión dentro de esta (además, reflejar los cambios de nuevas versiones de LWUIT sobre la aplicación huésped se verá reducido a actualizar la biblioteca sin tocar el código de la aplicación original).
Entre las características principales de este kit de herramientas se destacan:
Model View Controller al estilo de Swing- Layouts
- Temas y look-and-feel intercambiables
- Fuentes
- Soporte para pantallas táctiles
- Animaciones y transiciones
- Widgets
- Integración 3D
- Painters
- Soporte para herramientas externas
- Soporte I18N/L10N (internationalization y localization, 18 y 10 es el número de letras entre la primera y la última letra de cada palabra)
- Requerimientos de performance moderados
- Soporte multi-platforma
- Integración con SVG (scalable vector graphics, en desarrollo)
Y entonces... ¿No es lo mismo que JavaFX mobile?
No. LWUIT esta dirigido a aquellos desarrolladores de aplicaciones MIDP y Swing que buscan mejorar las interfaces de aplicaciones Java ME nuevas o existentes en dispositivos MIDP 2.0. Ofrece funciones gráficas y características que los desarrolladores pueden ensamblar fácilmente permitiendo que los desarrolladores puedan concentrarse en realizar complejas interfaces que conserven la consistencia en los diferentes equipos de hoy en día.
En cambio, JavaFX Mobile es una plataforma Java ME con el runtime JavaFX corriendo sobre la misma, que apunta a introducir todo un nuevo concepto en aplicaciones para dispositivos móviles, aumentando el nivel de interacción con el usuario a niveles hasta ahora insospechados. Además, utiliza JavaFX Script para "describir" el comportamiento de las interfaces en forma declarativa, permitiendo incluso integrar elementos directamente desde herramientas de diseño como Photoshop o Illustrator. Es decir, permite que los diseñadores y desarrolladores trabajen de forma mucho más cercana. Sin embargo, JavaFX requiere de dispositivos que cumplan con la especificación Mobile Service Architecture, la cual actualmente solo cumplen algunos dispositivos móviles de la gama más alta. En pocas palabras, JavaFX es la plataforma móvil para los dispositivos de un futuro cercano, por lo que ni siquiera compite directamente con LWUIT.
¿Y a que se parece LWUIT?
Para ver que cosas pueden realizarse actualmente con LWUIT, pueden ver el siguiente vídeo que sus desarrolladores han publicado recientemente en Youtube:
¿Y donde puedo conseguir más información al respecto?
Si algo de todo esto te llamó la atención, te invito a visitar el blog de Shai Almog, uno de los desarrolladores principales de LWUIT (publica frecuentemente, y el contenido abarca desde tutoriales a información sobre nuevas características y releases), o el blog de Terrence Barr, Ambassador de la comunidad Mobile & Embeeded de Sun. Obviamente, no dejes de visitar la pagina del proyecto LWUIT en java.net, donde vas a encontrar toda la documentación disponible, el código fuente, la información de contacto de los desarrolladores, e incluso hasta links para sumarte al proyecto.
