Sí, un framework WEB que nos permita editar interfaces gráficas visualmente es el Santo Grial de todos los desarrolladores Java: Se trata de lograr editar interfaces gráficas web como si se tratase de una vieja aplicación desktop.
He escogido tres tecnologías interesantes que pueden ayudarnos en esta tarea, que permiten ejecutarse en múltiples sistemas operativos (y múltiples browsers):
- Yahoo! UI Library
- Microsoft Silverlight
- Google Web Toolkit
Yahoo! UI Library
Yahoo User Interface(YUI), una serie de bibliotecas escritas en JavaScript, para la construcción de aplicaciones interactivas (RIA). Liberadas bajo licencia BSD por parte de la compañía Yahoo. Dichas bibliotecas son utilizadas para el desarrollo web específicamente para ser usadas como la programación de aplicaciones de escritorio, con componentes vistosos y personalizables y con una amplia implementación con AJAX.
Para integrarlo con Java he visto dos páginas interesantes:
- Yahoo’s Rich Web UIs for Java Developers: Java developers who develop web applications with server-side frameworks often don’t have the JavaScript expertise to create rich user interfaces. Learn how Yahoo User Interface (YUI) can help bridge that gap.
- Putting a YUI Face on a Java Web Application: Learn how to use Yahoo User Interface (YUI) Web components to develop a real world application with just the right mix of JavaScript/AJAX.
Sin embargo en este punto no he encontrado una herramienta que me ayude a hacer un diseño fácil de estas interfaces gráficas.
Tres referencias importantes que nos acercan a un “editor” WYSIWYG para YUI:
Microsoft Silverlight
No se asusten, se puede integrar con Java y además es independiente del browser. Microsoft Silverlight es una estructura para aplicaciones web que agrega nuevas funciones multimedia como la reproducción de vídeos, gráficos vectoriales, animaciones e interactividad, en forma similar a lo que hace Adobe Flash. Silverlight compite con Adobe Flex, Nexaweb, OpenLaszlo y algunas presentaciones de componentes AJAX. Actualmente se distribuye de forma gratuita.
Para Silverlight hay herramientas comerciales y libres, incluso un plugin de Eclipse. Sin embargo las herramientas que permiten hacer más sencillo el diseño de las interfaces son de pago.
Como integrarlo con Java:
Google Web Toolkit
Framework creado por Google que permite ocultar la complejidad de varios aspectos de la tecnología AJAX. Es compatible con varios navegadores, lo cual es notorio ya que cada navegador suele necesitar código específico para lograr un front-end correcto en una aplicación web. El concepto de Google Web Toolkit es bastante sencillo, básicamente lo que se debe hacer es crear el código en Java usando cualquier entorno de desarrollo (IDE) de Java y el compilador lo traducirá a HTML y JavaScript. Se distribuye bajo la Apache License, v2.0.
La verdad es el framework del que encontré más información y lo que más me gustó fue facilidad de usar el GWT Designer que ofrece (que es robusto y libre). Justo lo que buscaba.
Página oficial: http://code.google.com/intl/es-ES/webtoolkit/
Y para integrarlo con aplicaciones Java:
Algo importante es que Google nos facilitó un designer, una herramienta para diseñar interfaces con GWT de forma visual, WYSIWYG. Vea la noticia aquí: Google publica plugins de Instantiations gratuitamente..
GWT Designer: Permite crear aplicaciones Ajax de forma gráfica usando Google Web Toolkit. Para muchos la verdadera razón de que Google compró a Instantiations. Sin duda se extrañaba una herramienta gratuita y soportada por el mismo Google para generar interfaces con GWT. Si bien GWT ha ganado bastantes usuarios en los últimos años, GWT Designer va a bajar la barrera para que aquellos que no lo usan se acerquen al framework y va a facilitar mucho la vida a los usuarios existentes.
He preparado una entrada dedicada al primer demo que desarrollé con GWT y Eclipse, aquí. Y si no conocen como configurar esos plugins en Eclipse pueden dirigirse a esta otra entrada.