Quatro anos desde a liberação da versão 7, o Vaadin lançou a versão 8 de seu framework poliglota para criar aplicações web com componentes UI. O Vaadin 8 contém 21 melhorias, são elas:
- APIs Typesafe Java
- Melhorias:
- Componentes
- Validadores
- Grid
- Mensagens de exceção
- Novo ItemCaptionGenerator
- Expressões lambda Typesafe
- Melhorias:
- Melhorias nos comportamentos padrões
- Objetos nulos
- Layouts ordenados
- Melhorias de performance
- Menor sobrecarga para objetos em memória
- Menor consumo de CPU para objetos volumosos
- Pensando no futuro
- Suporte às versões antigas do Java e da especificação de Servlets não são mais suportadas
- Java 8 e Servlet 3.0 obrigatório
- Suporte às versões antigas do Java e da especificação de Servlets não são mais suportadas
- Versões antigas de browsers não são mais suportadas
Exemplo - Diferenças entre as versões 7 e 8
O seguinte exemplo contém expressões lambda typesafe que demonstram uma das simplificações da versão 7 para a versão 8 do Vaadin:
Versão 7: | Versão 8: |
|
|
É interessante observar que não é necessário encapsular os dados na versão 8. A interface Container do Vaadin foi removida da API.
A empresa Vaadin também atualizou o exemplo Criando um CRUD UI com Vaadin (localizado no Spring Guides) para a versão 8 do Vaadin framework.
Primeiros passos
O seguinte comando, utilizando o maven, cria e inicia uma aplicação:
mvn -B archetype:generate -DarchetypeGroupId=com.vaadin -DarchetypeArtifactId=vaadin-archetype-application -DarchetypeVersion=8.0.4 -DgroupId=org.test -DartifactId=vaadin-app -Dversion=1.0-SNAPSHOT && cd vaadin-app && mvn package jetty:run
Este comando irá criar uma aplicação de exemplo single-module (conforme especificado pelo parâmetro -DarchetypeArtifactId), criar uma subpasta (conforme especificado pelo parâmetro -DartifactId), mudar o diretório para a subpasta criada, iniciar uma instância do Jetty, e rodar a aplicação conforme imagem abaixo:
Para uma aplicação de exemplo mais complexa com multi-module, apenas substitua o valor do parâmetro -DarchetypeArtifactId por vaddin-archetype-application-example.
Na liberação da versão 8 do Vaadin, Matti Tahvonen, gerente de marketing e produtos na empresa Vaadin, falou sobre os objetivos de curto-prazo:
Embora a versão 8 do Vaadin traz várias melhorias significativas, ela também serve de base para melhorias futuras. Com o cancelamento do suporte às versões antigas da JDK e às versões do Internet Explorer que não são mais mantidas, seremos capazes de entregar coisas novas muito mais rápido. Na versão de abril contendo pequenas modificações, adicionamos funcionalidades frequentemente requisitadas como: herança, drag-and-drop e extensão ao componente Grid.
Naturalmente vamos continuar liberando regularmente versões contendo correção de bugs. Caso você se depare com um erro ".0 bugs", reporte imediatamente via GitHub.
Links úteis
- Primeiros passos com Vaadin.
- Um vídeo demonstrando as novas funcionalidades do Vaadin 8 feito por Tahvonen e Pekka Hyvönen, líder de desenvolvimento na empresa Vaadin.
- Como migrar da versão 7 do Vaadin para versão 8.
- Uma entrevista feita pela InfoQ com Tahvonen sobre Vaadin Spring.