Visión General
Vaadin Framework es un framework de desarrollo de aplicaciones web Java que está diseñado para facilitar la creación y el mantenimiento de interfaces de usuario de alta calidad basadas en la web. Vaadin soporta dos modelos diferentes de programación: del lado del servidor y del lado del cliente. El modelo de programación basado en servidor es el más poderoso. Le permite olvidarse de las interfaces de usuario web y programar de forma similar a como programaría una aplicación de escritorio con un conjunto de herramientas Java convencionales como AWT, Swing o SWT. Pero más fácil.
Aunque la programación web tradicional es una forma divertida de pasar el tiempo aprendiendo nuevas tecnologías web, es probable que desee ser productivo y concentrarse en la lógica de la aplicación. El framework Vaadin del lado del servidor se encarga de gestionar la interfaz de usuario en el navegador y las comunicaciones AJAX entre el navegador y el servidor. Con el enfoque Vaadin, no es necesario aprender y tratar directamente con las tecnologías del navegador, como HTML o JavaScript.
La arquitectura de una aplicación Vaadin ilustra la arquitectura básica de aplicaciones web hechas con Vaadin. La arquitectura de aplicaciones del lado del servidor consiste en el framework del lado del servidor y un motor del lado del cliente. El motor se ejecuta en el navegador como código JavaScript, el cual representa la interfaz de usuario, y la interacción del usuario con el servidor. La lógica de la interfaz de usuario de una aplicación se ejecuta como un Servlet Java en un servidor de aplicaciones Java.
Como el motor del lado del cliente se ejecuta como JavaScript en el navegador, no se necesitan los plugins del navegador para utilizar aplicaciones hechas con Vaadin. Esto le da una ventaja sobre los frameworks basados en Flash, Java Applets, u otros plugins. Vaadin cuenta con el apoyo de Google Web Toolkit para una amplia gama de navegadores, de modo que el desarrollador no necesita preocuparse por el soporte del navegador.
Como HTML, JavaScript, y otras tecnologías de navegador son esencialmente invisibles para la lógica de aplicación, puede pensar en el navegador web sólo como una plataforma de cliente ligero. Un cliente ligero visualiza la interfaz de usuario y comunica los eventos de usuario al servidor en un nivel bajo. La lógica de control de la interfaz de usuario se ejecuta en un servidor web Java, junto con la lógica de negocio. Por el contrario, una arquitectura cliente-servidor normal con una aplicación de cliente dedicada incluiría una gran cantidad de comunicaciones específicas de la aplicación entre el cliente y el servidor. Básicamente eliminar el nivel de interfaz de usuario de la arquitectura de aplicación hace que nuestro enfoque sea muy eficaz.
Detrás del modelo de desarrollo controlado por el servidor, Vaadin hace el mejor uso de técnicas AJAX (Asynchronous JavaScript y XML, consulte "AJAX" para una descripción) que hacen posible crear aplicaciones RIA (Rich Internet Applications) que son tan sensibles e interactivas como aplicaciones de escritorio.
Además del desarrollo de aplicaciones Java del lado del servidor, puede desarrollar del lado del cliente creando nuevos widgets en Java, e incluso aplicaciones del lado del cliente que funcionan únicamente en el navegador. El framework del lado del cliente Vaadin incluye Google Web Toolkit (GWT), el cual proporciona un compilador de Java para JavaScript que se ejecuta en el navegador, así como un framework de interfaz de usuario con todas las características. Con este enfoque, Vaadin es Java puro en ambos lados.
Vaadin utiliza un motor de lado del cliente para representar la interfaz de usuario de una aplicación del lado del servidor en el navegador. Todas las comunicaciones cliente-servidor están bien ocultas bajo el capó. Vaadin está diseñado para ser extensible, y de hecho puede utilizar cualquier widget de terceros fácilmente, además del repertorio de componentes que ofrece Vaadin. De hecho, puede encontrar cientos de complementos en el directorio Vaadin.
Vaadin permite una separación flexible entre el aspecto, la estructura y la lógica de interacción de la interfaz de usuario. Puede diseñar los diseños de forma programática o declarativa, al nivel de su elección. El aspecto final se define en temas CSS o Sass, tal como se describe en "Temas".
Esperamos que esto sea suficiente sobre la arquitectura básica y las características de Vaadin por ahora. Puedes leer más sobre esto más adelante en "Arquitectura", o saltar directamente a cosas más prácticas en "Escribir una Aplicación Web del Lado del Servidor".

No hay comentarios:
Publicar un comentario