RSS

Vaadin , server-side RIA framework

07 ago

vaadin-logo

Hoy vamos a hablar acerca Vaadin, un framework RIA que facilita el desarrollo de la parte de interfaz de usuario en aplicaciones web. Según la página oficial del proyecto, Vaadin es:

Vaadin is a server-side AJAX web application development framework that enables developers to build high-quality user interfaces with Java. It provides a library of ready-to-use user interface components and a clean framework for creating your own components. The focus is on ease-of-use, re-usability, extensibility, and meeting the requirements of large enterprise applications. Vaadin has been used in production since 2001 and it has proven to be suitable for building demanding business applications.

Pincelada sobre la arquitectura de Vaadin.

Es decir, Vaadin permite desarrollar toda la parte de interfaces de usuario enteramente mediante código Java. Veremos más adelante que Vaadin utiliza un paradigma de programación basado en eventos, bastante similar a cómo se ha venido programando tradicionalmente con Swing, AWT ó SWT.

Detailed Vaadin architecture

En la siguiente imagen podemos ver la arquitectura de Vaadin de un modo más esquemático.

vaadin architecture less detailed

Ventajas de utilizar Vaadin.

Las ventajas que personalmente encuentro en Vaadin respecto de otros frameworks más asentados en el mercado actual son las siguientes:

  • El hecho de realizar toda la parte de UI enteramente en código Java es una gran noticia ya que evita al desarrollador tener que aprender todas las particularidades de otros frameworks de desarrollo para la parte de interfaz de usuario como Struts ó Java Server Faces. Si bien es verdad que ahora mismo hay más desarrolladores que saben utilizar JSF ó Struts que Vaadin, no es menos cierto que hay más gente que sabe programar en Java que utilizar JSF ó Struts.

  • Integración con GWT. Una de las desventajas iniciales que Vaadin pudiera tener respecto a Struts ó sobretodo JSF es la falta de componentes visuales preestablecidos (tablas, campos de texto personalizados, …). Esta desventaja inicial queda eliminada por tres razones:

    • La primera es que el equipo de Vaadin ha desarrollado un gran número de componentes visuales en el core de Vaadin. Podemos verlos en acción y ver cómo han sido programados en la página de vaadin demo samplers.

    • La segunda razón es que Vaadin tiene un sistema de add-ons. Los add-ons (os sonará la palabra si usaís Firefox como vuestro navegador web) son componentes que han sido desarrollodos por el equipo de desarrollo de Vaadin o por colaboradores que se añaden a los componentes core básicos que podemos ver en el parráfo anterior. Lo bueno de este sistema no es ya que tengamos acceso a esos add-ons sino que se puede extender el core de Vaadin para realizar componentes que se adapten a las necesidades de cada proyecto.

    • La tercera y última razón es la integración de Vaadin con GWT. En anteriores entradas del blog como Introducción a GWT (Google Web Toolkit) , Ejemplo básico con GWT y Interfaz de usuario y eventos en GWT ya habíamos hablado un poco acerca de GWT. Vaadin está diseñado para poder utilizar los componentes visuales realizados con GWT, de manera que Vaadin sea capaz de gestionar en la parte servidora los eventos generados por los componentes visuales de GWT en la parte cliente.

  • Crear portlets a partir de Vaadin. Vaadin permite llevar nuestra aplicación desarrollada directamente como portlet a Liferay. Más info aquí

Además de estas razones hay otra serie de ventajas que considero importantes a la hora de estudiar Vaadin como una opción real de cara a utilizarse en una aplicación web.

  • Integración con Eclipse, STS y Netbeans. Vaadin se integra perfectamente con los IDEs de desarrollo más populares que existen actualmente. En mí caso he probado el plugin de Vaadin para Eclipse y ha funcionado sin problema. Si quieres conocer más sobre ello visita el enlace de plug-in for Eclipse.

  • Integración de Vaadin con Maven. Vaadin está perfectamente integrado con Maven. De hecho se puede generar a partir de un arquetipo Maven sencillo nuestro primer proyecto de aplicación web usando Vaadin sin ningún problema. Puedes visitar este enlace para conocer más al respecto.

  • Cantidad y calidad de la documentación disponible. La documentación de Vaadin es bastante extensa y sobre todo bien explicada. Remarco esto último porque muchas veces encuentras mucha documentación sobre un determinado framework pero está mal estructurada. En el caso de Vaadin esto no es así. Cada parte de su arquitectura está explicada desde lo más básico hasta lo más complejo, además de estar acompañado de ejemplos. Otra cosa que me gusta es que los add-ons también vienen acompañados de documentación. No sé si será algo que viene impuesto por la comunidad de desarrollo pero en cualquier caso me parece un acierto. Se puede hacer a su documentación en formato HTML aquí, o descargar en formato PDF (de manera gratuita) en su web.

  • Comunidad y soporte. Obviamente la comunidad de desarrollo no es tan grande con la de otros frameworks. Sin embargo, está muy bien gestionada. Puedes acceder al foro de discusión aquí previo registro. Está estructurado en distintos temas como ayuda general, noticias, componentes de interfaz de usuario, … . Lo que más me gusta es la rápidez de respuesta del foro. Son muchas veces los propios desarrolladores de Vaadin los que te responden a tus dudas.

Otra parte bastante interesante de Vaadin es el hecho de hacerte usuario PRO. Esto te da derecho a tener soporte más directo por parte del equipo de desarrollo oficial de Vaadin. Además si tienes un problema, tu problema pasa a estar en la lista de problemas prioritarios a solucionar por parte de Vaadin. Si quieres ver más sobre soporte mira aquí.

Desventajas de utilizar Vaadin.

Obviamente no todos los frameworks son perfectos y Vaadin tampoco lo va a ser. Desde mi punto de vista las cosas a mejorar en Vaadin son las siguientes:

  • Pese a que el core de Vaadin está licenciado bajo Apache License 2, hay una serie de componentes visuales que no lo están. Un gran problema que veo es que para hacer pruebas de regresión sobre nuestras aplicaciones web no podamos utilizar Selenium. En lugar de ello existe un add-on llamado Vaadin Testbench que complementa y mejora en algunos aspectos (según he podido probar) a Selenium. El problema pasado los 30 días de prueba se deben pagar unos 1000 € para seguir utilizandolo. Estaría bien que Vaadin fuera un proyecto software completamente libre.

  • El libro de Vaadin. Esto más que un problema es una pequeña pega. Se puede acceder a toda la documentación en formato HTML o en formato PDF. Sin embargo parece ser que el formato PDF va un poco por detrás y no contiene todas las actualizaciones del contenido a las que si podemos acceder en el formato HTML.

En resumen.

Vaadin es un framework RIA de desarrollo de aplicaciones web bastante intuitivo y sencillo, sobre todo para aquellos que vengan de programar interfaces de usuario con Swing ó SWT. La curva de aprendizaje no es demasiado elevada ya que se trata de código puramente Java y solamente es necesario configurar una serie de ficheros xml para su correcto funcionamiento. Además al integrarse con tecnologías como Eclipse, Maven ó GWT resulta más sencillo usar Vaadin en nuestros proyectos. Como contrapartida indicaría que Vaadin no es software abierto al 100 %.

Espero en sucesivos post escribir un poco más acerca de Vaadin.

About these ads
 
4 comentarios

Publicado por en 7 agosto, 2011 en GWT, RIA, Vaadin

 

Etiquetas: , , , , , , , ,

4 Respuestas a “Vaadin , server-side RIA framework

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

 
Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 69 seguidores

%d personas les gusta esto: