viernes, 29 de enero de 2010

Apache Pivot: Una RIA más

Las RIA's están revolucionando el modo en que interactuamos con Internet, gracias a las interfaces de usuario que proporcionan una experiencia diferente y amena, en contraste con las vetustas y aburridas interfaces tradicionales. En un artículo anterior (¿Cuál es la mejor plataforma RIA?) hice un análisis superficial sobre las distintas propuestas existentes: Ajax, Adobe Flex, OpenLaszlo, Microsoft Silverlight y JavaFX.

He descubierto una RIA más que me parece muy interesante, pues viene de la comunidad Apache, líder en proyectos de tecnologías web libres. Esta propuesta se denomina Apache Pivot, basándose en el archiconocido y popular lenguaje Java, líder mundial en cuanto a número de desarrollos y desarrolladores. El concepto es distinto al de JavaFX de Oracle (anteriormente Sun MicroSystems), pues esta comunidad ha sabido ver lo mejor de cada mundo y desarrollar una tecnología agradable y sencilla.



Al ser un desarrollo en Java, contamos con multitud de IDE's para desarrollar, en cualquier plataforma. Sólo es necesario descargar el framework y empezar a trabajar, sin necesidad de plugins adicionales en el navegador (sólo la máquina virtual de Java). Cuenta con un lenguaje de marcado llamado WTK basado en el modelo vista controlador, que facilita mucho el desarrollo de las aplicaciones, y que permite también combinar con código Java, del mismo que Adobe Flex combina MXML y ActionScript.


Apache Pivot ha desarrollado un conjunto de elementos de interfaz de usuario amplia, que abarca cualquier necesidad que podamos tener, incluyendo contenedores, árboles, menús, etc.

Aconsejo al lector que pueda verla y probarla mediante la siguiente demo: http://pivot.apache.org/tutorials/sample-application.html


Apache Pivot dispone también de recursos para conectar con servicios de datos remotos, como SOA, Web Services, HTTPServices o servicios de queries web (por citar algunos). La gestión de XML es simple y potente, al igual que que trabajar con JSON y con colecciones. No se olvida tampoco de efectos visuales ni del tratamiento del drag and drop. Asimismo, incluye un módulo especialmente dedicado a gráficos estadísticos.



Tampoco se olvida de las pieles para los elementos de interfaz, así como tampoco de los renderers, pudiendo ser capaz de añadir elementos de edición a las interfaces, como a una tabla o Grid.


Apache Pivot es una buena alternativa libre a las RIA's, con una comunidad con solera y con muchos adeptos. Los desarrolladores Java lo van a acoger muy bien, pues la interfaz de usuario es muy rica y bien definida y organizada, además de poder seguir desarrollando en Java o integrar este lenguaje al WTK.

Para ser imparcial, debo añadir algunas críticas:
1) La velocidad de carga. La carga del applet es tediosa, pudiendo llegar a minutos. Lo más importante en una página web o en una aplicación es que el usuario no tenga que esperar.
2) La velocidad de navegación. Cuando navegas por una aplicación, al cambiar de escenario (mediante una opción, por ejemplo), parece que la aplicación se para durante un tiempo indeterminado. El usuario no sabe qué hacer, hace clic en otros sitios y no responde. Crea estupefacción y confusión.
3) Recursos multimedia. Apache Pivot parece más pensado para aplicaciones de gestión, y no añade recursos multimedia, aunque conociendo Java, sería posible importar alguna librería y poder usar estos recursos. Tampoco tiene muchos efectos.


Enlaces
Página oficial: http://pivot.apache.org/index.html
Tutoriales: http://pivot.apache.org/tutorials
Demos: http://pivot.apache.org/demos