Está en la página 1de 8

Vaadin

Taller de Base de Datos – INF 272


Doc. Lic. José María Tapia B.

[FRAMEWORK VAADIN]
Paralelo ¨C¨.

ESTUDIANTES:

1. ci:
2. Jahuira Velásquez Jhonny ci: 5475576 LP
3. ci:
INTRODUCCION
Vaadin es un framework de desarrollo de SPA que permite escribir el código de dichas
aplicaciones en Java o en cualquier otro lenguaje soportado por la JVM 1.6+. Esto
permite la programación de la interfaz gráfica en lenguajes como Java 8, Scala o
Groovy, por ejemplo. Uno de las características diferenciadores de Vaadin es que,
contrario a las librerías y frameworks de JavaScript típicas, presenta una arquitectura
centrada en el servidor, lo que implica que la mayoría de la lógica es ejecutada en los
servidores remotos. Del lado del cliente, Vaadin está construido encima de Google Web
Toolkit, con el que puede extenderse

HISTORIA
A principios de 2007, el producto se cambió a IT Mill Toolkit y la versión 4 fue
liberada. Utilizaba una implementación propietaria de AJAX para la representación del
lado del cliente, lo que hizo más complicada la implementación de nuevos
componentes. A finales de 2007, el lado del cliente propietario fue abandonado y el
GWT se integró en los componentes del lado del servidor. Al mismo tiempo, la licencia
del producto se ha cambiado a la licencia Apache 2.0. El lanzamiento oficial del IT Mill
Toolkit 5 se realizó el 4 de marzo de 2009, después de más de un año en el que la
aplicación permaneció en estado beta.
El 11 de septiembre de 2008, fue públicamente anunciado que Michael Widenius, el
principal autor de la versión original de MySQL, invirtió en IT Mill, la desarrolladora
del Vaadin. La cantidad no se ha revelado.
El 20 de mayo de 2009, IT Mill Toolkit cambió su nombre a Vaadin para llegar a ser
más atractivo para la comunidad. Este nombre se origina de la palabra finlandesa
equivalente a la cierva o, más precisamente, al reno femenino. También se puede hacer
la traducción del finlandés como "Insisto". Además del cambio del nombre, se hizo el
pre-anuncio de la versión 6 junto a la comunidad en el sitio web
Nacio el año 2000 sede central en turcu helsinqui

Logo y nombre
Simboliza a un reno Vaadi en ingles reno hembra relacionado con Java y Html
CARACTERISTICAS
Vaadin es un framework de Java que se usa para el desarrollo de aplicaciones web,
permitiendo que tengan una apariencia agradable y moderna. Cada vez más
desarrolladores lo usan, dadas las ventajas que aporta, ventajas que ofrece esta nueva
versión en relación a la anterior.

Las nuevas funcionalidades de Vaadin 8


1.- Permite pasar listas de objetos directamente a los componentes de tipo Grid y
Select
Antes, para cargar datos dentro de un componente de tipo Grid, ComboBox, etc. era
necesario recurrir a alguna implementación de la interfaz Container. Ahora, con Vaadin
8, podemos pasarle directamente una lista de objetos a estos componentes:

List<Person> people = Backend.getPersons();


Grid<Person> grid = new Grid<>(Person.class);
grid.setItems(people);

2.- Crear captions para los elementos de un Select

Una labor muy común es querer mostrar en nuestros componentes de tipo Select un
valor visual diferente al valor interno del objeto contenido. O incluso mostrar un valor
visual compuesto por dos atributos de un bean. Para eso, en Vaadin 8 han introducido
el ItemCaptionGenerator:

List<Person> people = Backend.getPersons();


ComboBox<Person> comboBox = new ComboBox<>();
comboBox.setItemCaptionGenerator(
p -> p.getFirstName() + " " + p.getLastName() + "("+ p.getAge() +")"
);
comboBox.setItems(people);

3.- Definición de columnas de Grid


Se ha mejorado y simplificado la definición de las columnas de los componentes de tipo
Grid. Ahora es mucho más simple, typesafe y legible:

Grid<Person> grid = new Grid<>();


grid.setItems(persons);
grid.addColumn(Person::getFirstName).setCaption("First Name");
grid.addColumn(Person::getLastName).setCaption("Last Name");
4.- Lazy loading
En versiones anteriores, para conseguir cargar datos de manera eficiente sin sobrecargar
el servidor, era obligatorio implementar una compleja interfaz de tipo Container. Ahora,
implementar una carga progresiva de datos es mucho más simple:

Grid<Person> grid = new Grid<>();


grid.setDataProvider(
(sortorder, offset, limit) -> service.findAll(offset, limit),
() -> service.count()
);

5.- Converters con expresiones lambda


Utilizando expresiones lambda podemos definir converters directamente, de una manera
legible y concisa:

new Binder<Person>().forField(textField)
.withConverter(
textToInteger -> Integer.parseInt(textToInteger),
integerToText -> integerToText.toString()
)
.bind("age");

6.-Añadir componentes y expandirlos de manera automática


Algo a lo que estamos muy acostumbrados los que venimos usando Vaadin desde
versiones anteriores a la 8 es a expandir componentes después de haberlos insertado en
el layout correspondiente. ¡Ahora, por fin, podremos hacerlo en un solo paso!

HorizontalLayout header = new HorizontalLayout(title, logout);


VerticalLayout root = new VerticalLayout(header);
Grid<Person> grid = new Grid<>();
root.addComponentsAndExpand(grid);

7- Márgenes y espaciado activado por defecto en los layout


Otra cosa que había que realizar a mano en todos (o casi todos) los layout, era activarles
los márgenes y el espaciado. Ahora estos valores vienen activos por defecto en los
layout más utilizados (VerticalLayout y HorizontalLayout), ahorrándonos código y
tiempo y, de paso, ayudando a tener algo estéticamente agradable sin calentarse mucho
la cabeza.

8.- Paquete de compatibilidad con versiones anteriores


Para usar Vaadin 8 en una aplicación ya existente con una versión anterior, se ha
provisto de un paquete de migración a través de una tarea de Maven, con lo que
actualizar es algo tan simple como ejecutar lo siguiente en el raiz del proyecto:
mvn vaadin:upgrade8
ENTORNO PARA SU INSTALACION
 Entorno de desarrollo: Java Eclipse
 JRE 1.8.0_51
 Apache Maven 3.3.3
 Apache Tomcat 8.0.2

VAADIN A NIVEL DE DESARROLLO

Desde el principio de los tiempos del desarrollo de aplicaciones web ha habido un


deseo de componentizar dicho desarrollo de manera que fuese sencillo desarrollarlas sin
reinventar la rueda cada vez.
Esto se ha hecho con bastante poco éxito, lo más cercano era JSF que tenía
implementaciones bastante potentes pero que te limitaban bastante a la hora de
componer una aplicación y eran difíciles de extender.

Vaadin sin embargo ha conseguido dicho objetivo y, en mi opinión, no está


suficientemente ponderado en la industria pese a las ventajas que nos proporciona para
el desarrollo rápido de aplicaciones.
Este framework está basado en GWT nos permite desarrollar de manera sencilla
aplicaciones de apariencia desktop desde Java ocultándonos las interioridades de GWT
y Javascript.
En general, Vaadin nos proporciona:
 Un completo y extenso framework de componentes
Soporte para móviles:
Drag’n’drop
Data Binding
 Apariencia personalizable basada en SASS.
 Una arquitectura segura.
 Herramientas:
Plugin para Eclipse.
Plugin para Intellij.
Integración con Netbeans.
Testeo de UI’s.
 Compatibilidad web:
GWT.
Sin necesidad de plugins en el navegador.
Soporte de botón atrás y deep linking.
Server push.
 Desarrollo con Java únicamente:
Tipado seguro.
Gestión de dependencias por Maven.
Compatible con OSGi.
 Arquitectura fácilmente extensible.
Todo esto nos permite desarrollar en un corto periodo de tiempo aplicaciones con una
apariencia profesional y apariencia de escritorio.

Podemos ver aquí un ejemplo de dicha potencia:

Y si accedemos desde el móvil:

El enfoque de este framework es que todas las aplicaciones se programan en Java como


si fueran una aplicación de escritorio en Swing y el motor del framework se encarga de
traducir todo esto a componentes GWT usando su motor en la parte cliente.
Esto nos permite abstraernos de problemas de cross-browsing a través del motor de
la parte cliente y nos permite concentrarnos en el desarrollo propiamente dicho de la
aplicación
Si deseamos usar Polymer también nos proporciona una abstracción de sus
componentes paper y iron integrando en el framework y algunos propios de Vaadin.

Por ello creo que es un framework muy interesante para nuevos desarrollos de


aplicaciones web que se desea que se comporten como si se tratase de aplicaciones de
escritorio sin demasiado esfuerzo en la parte cliente de las mismas.

También podría gustarte