BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Vaadin发布Polyglot框架第8版

| 作者 Michael Redlich 关注 15 他的粉丝 ,译者 大愚若智 关注 9 他的粉丝 发布于 2017年3月29日. 估计阅读时间: 5 分钟 | CNUTCon 了解国内外一线大厂50+智能运维最新实践案例。

第7版发布4年后,Vaadin近日发布了第8版Polyglot框架,该框架可用于通过UI组件构建Web应用,此版本在包含下列21项改进

  • 类型安全(Typesafe)Java API:
    • 有关Vaadin的改进:
      • 组件
      • 验证器
      • Grid
      • 异常消息
    • 新增的ItemCaptionGenerator
    • 类型安全Lambda表达式
  • Default的改进:
    • Null值
    • 有序布局(Ordered layout)
  • 性能改进:
    • 降低内存中数据集的开销
    • 降低大规模数据集的CPU需求
  • 面向未来趋势的改进:
    • 取消了对老版本Java和Servlet规范的支持
    • 取消了对遗留浏览器的支持

范例 – 第7和第8版的差异

下列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 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反馈给我们。

相关资源

阅读英文原文Vaadin Releases Version 8 of Their Polyglot Framework

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT