@liuhui0803
2017-03-27T15:35:11.000000Z
字数 1846
阅读 1957
架构和设计
DevOps
开发
Java
Vaadin
摘要:
第7版发布4年后,Vaadin近日发布了第8版Polyglot框架,该版本在类型安全API和性能方面包含21项改进。
正文:
第7版发布4年后,Vaadin近日发布了第8版Polyglot框架,该框架可用于通过UI组件构建Web应用,此版本在包含下列21项改进:
ItemCaptionGenerator
下列Grid包含的类型安全Lambda表达式演示了相对与第7版,第8版Vaadin所实现的简化:
第7版:
Grid grid = new Grid();
grid.setContainerDataSource(
new BeanItemContainer<>(persons));
grid.removeAllColumns();
grid.addColumn("firstName");
grid.getColumn("firstName")
.setHeaderCaption("First Name");
grid.addColumn("lastName");
第8版:
Grid<Person> grid = new Grid<>();
grid.setItems(persons);
grid.addColumn(Person::getFirstName)
.setCaption("First Name");
grid.addColumn(Person::getLastName)
.setCaption("Last Name");
请注意第8版的容器中取消了数据包装(Wrapping)。Vaadin的Container
接口也已从API中移除。
Vaadin还更新了第8版中使用Vaadin创建CRUD UI的范例(位于Spring Guides中)。
下列命令使用Maven发起了一个应用程序构建:
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
该命令可创建一个简单的单模块范例应用(通过-DarchetypeArtifactId
指定),创建了一个子文件夹(通过-DartifactID
指定),将目录更改至该子目录,启动了一个Jetty实例,并运行应用程序产生如下结果:
若要创建更复杂的多模块范例应用,可直接替换-DarchetypeArtifactId
中的vaadin-archtype-application-example
值。
在Vaadin 8的发布说明中,Vaadin产品营销经理Matti Tahvonen介绍了他们的后续短期目标:
虽然Vaadin 8.0.0包含了很多不错的改进,但这些只是后续进一步完善的基础。通过取消对老版本JDK和已停止维护的Internet Explorer版本的支持,我们将能更快速地为大家提供更多新功能。在计划于四月发布的下一个小版本中,我们将提供大家期待已久的层次结构,以及Grid组件的拖拽和组件支持。
当然我们同时也会继续通过新版修复各种Bug,因此如果你遇到“.0 bugs”问题,请通过GitHub反馈给我们。
作者:Michael Redlich,阅读英文原文:Vaadin Releases Version 8 of Their Polyglot Framework