Vaadin es un framework RIA derivado de GWT para el desarrollo de aplicaciones web basado en HTML5 y Javascript. Apareció en su primera forma en el año 2002 y en su actual arquitectura en el 2009, estando implantado actualmente en miles de sitios web. Veamos los puntos más destacables de esta tecnología.
RIA
Las aplicaciones RIA, de Internet Rich Application, son aplicaciones web que proporcionan al usuario la experiencia de estar utilizando una aplicación de escritorio frente a la web clásica en la que cada acción del usuario va seguida de una petición al servidor para obtener la siguiente página y las limitaciones que eso conlleva.
Sin plugins
Al contrario que otras tecnologías (en proceso de desaparición) basadas en plugins que deben instalarse en el navegador para ejecutar directamente en él el código descargado Vaadin envía páginas HTML al navegador, simplificando el proceso de desarrollo y despliegue.
HTML5 y Javascript
Actualmente existen multitud de frameworks javascript para el desarrollo de aplicaciones RIA que dan muy buenos resultados pero que exigen un ‘doble tipo de desarrollo’, uno en el lado del servidor y otro en el lado del cliente. La programación en javascript es muy diferente de la que es necesaria en el servidor y el equipo de desarrollo tiene que estar, en esencia, trabajando en dos aplicaciones distintas que deben comunicarse entre sí, dedicándole tiempo a tal comunicación. Con Vaadin todo ese HTML5 y Javascript se crea automáticamente a partir de un código java mucho más mantenible.
Simplificando GWT
GWT es un framework Java que permite desarrollar una aplicación web utilizando únicamente clases Java que son traducidas a un código Javascript que se descarga en el navegador. El programador puede entonces utilizar solo un lenguaje para toda la aplicación. No obstante hay un conjunto de clases específicas (los servicios RPC) que deben crearse y que se dedican exclusivamente a la comunicación entre la parte del proyecto ‘para el navegador’ y la parte desarrollada para ejecutarse en el servidor. En Vaadin tales clases no son necesarias no existiendo ninguna barrera entre las clases de la vista y del modelo.
Igual que programar una aplicación de escritorio
Vaadin permite utilizar todas las técnicas y patrones de diseño empleados en el desarrollo de aplicaciones de escritorio, prácticamente sin limitaciones. En especial patrones como el Model View Presenter con el que el programador sabe en cada momento qué debe hacer y cómo ha de hacerlo.
Paleta de componentes
Como otros framework web, Vaadin tiene una atractiva paleta de componentes y layouts a los que hay que añadir la facilidad con la que se pueden crear otros nuevos utilizando para ello sencillas clases java.
Compatibilidad con navegadores
Actualmente Vaadin es capaz de generar vistas en los siguientes navegadores (se indica la versión mínima):
- Android 2.3
- Chrome 23
- IE 8
- iOs 5
- Firefox 17
- Opera 12
- Safari 6
Vaadin también cuenta con soporte para la internacionalización, seguridad, integración natural con cualquier backend, validaciones, plugins para Eclipse, Netbeans e IntelliJ, soporta portlets y puede desplegarse en Google App Engine.
En la actualidad, mientras todos los frameworks web Java clásicos están en decadencia, Vaadin se presenta como una alternativa potente y moderna, obteniendo los mismos resultados que aquellas tecnologías que han venido sustituyendo al Java en el desarrollo web, y de una manera más ágil y sencilla.