Vaadin - Aplicaciones web Java como si fuesen de escritorio

Hace unos días un compañero me comentó que iba a desarrollar un nuevo proyecto cuyo entorno de desarrollo iba a ser Scala + Vaadin + MyBatis + Maven + Netbeans y Postgresql.

Tras escucharle, de todos los frameworks que iba a utilizar me llamó la atención Vaadin y la necesidad de descubrir qué es y para qué se utiliza. Para mi descubrimiento, ¡fue creado hace más de 10 años!

Vaadin es un framework para el desarrollo de aplicaciones web Open Source modernas o también llamadas RIA (Rich Internet Applications) que posee una librería con numerosos componentes de usuario con los que construir aplicaciones web profesionales similares a los interfaces de una aplicación de escritorio. Este framework se ejecuta del lado del servidor lo que significa que la mayoría de la lógica y por tanto la mayor carga del trabajo recae en el servidor.

Vaadin utiliza tecnología Ajax del lado del cliente cuya base es GWT (Google Web Toolkit) para renderizar la interfaz de usuario en el navegador. Las aplicaciones Google Web Toolkit se escriben en Java y son automáticamente "traducidas" a JavaScript y HTML. GWT es muy cómodo para el desarrollador porque le mantiene al margen de estas acciones de presentación y sin la necesidad de instalar ningún plugin para su presentación.

Vaadin 1. Arquitectura cliente-servidor de Vaadin

Vaadin lleva utilizándose en entornos productivos desde 2001 y buena constancia de ello lo podemos ver en los proyectos en los que se ha utilizado esta tecnología, por ejemplo, en España hay una empresa que en el desarrollo de su ERP ha utilizado como UI Vaadin, puedes ver la referencia pinchando aquí.

Una vez que decidimos utilizar esta arquitectura, es habitual realizar proyectos con arquitectura MVC utilizando Vaadin para la Vista, Hibernate para el modelo y Spring como Controlador.

Vaadin 3. Arquitectura para aplicaciones Vaadin

Además cuenta con una web que posee buena documentación en html, demos donde podemos ver en funcionamiento cada uno de los componentos, foros y libros en formato .pdf o .epub.

En cuanto al desarrollo, el equipo de Vaadin recomienda el plugin para Eclipe que es el más completo (posee incluso un editor visual) aunque también existen otros para Netbeans, IntelliJ IDEA, Spring Roo o Maven.

Enlaces de interés

Web: https://vaadin.com

Demos: https://demo.vaadin.com/sampler

Posts relacionados

Desarrollando una aplicación con Vaadin Framework + Add-on Vaadin SQLContainer + Microsoft SQL Server 2008 R2