速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

Vaadin 发布 Polyglot 框架第 8 版

  • 2017-03-28
  • 本文字数:1234 字

    阅读完需:约 4 分钟

第 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<person> grid = new Grid();
grid.setItems(persons);
grid.addColumn(Person::getFirstName)
.setCaption("First Name");
grid.addColumn(Person::getLastName)
.setCaption("Last Name");
</person>

请注意第 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

2017-03-28 19:001625
用户头像

发布了 283 篇内容, 共 107.5 次阅读, 收获喜欢 62 次。

关注

评论

发布
暂无评论
发现更多内容

Android面经分享:我是如何一举拿下阿里、抖音,html5图片左右移动

android 程序员 移动开发

RabbitMQ详解——RabbitMQ服务端执行逻辑(三)

AiDaddy

RabbitMQ 服务端执行逻辑

Android面试题之Java基础篇,安卓rxjava使用

android 程序员 移动开发

Android高速下载器实现思路——单个任务的提速与优化,flutter二维码扫描

android 程序员 移动开发

Android:手把手教你实现在XML中配置网易云歌手详情滑动效果

android 程序员 移动开发

android面试之今日头条-字节跳动-android社招面试(附答案)

android 程序员 移动开发

Android面试必问:Handler、Bitmap,android插件化开源

android 程序员 移动开发

【LeetCode】最长定差子序列Java题解

Albert

算法 LeetCode 11月日更

Android:知道类加载过程面试还是卡壳?干货总结,安卓运行内存监控

android 程序员 移动开发

Android:这是一份全面&详细的-热修复-学习指南,含泪狂刷Android基础面试118题

android 程序员 移动开发

Android面试必备的集合源码详解,看完之后简历上多一个技能!

android 程序员 移动开发

Android面试必问:Handler、Bitmap(1),kotlin数据库框架

android 程序员 移动开发

Android面试官装逼失败之:关于Activity的启动模式,android界面开发工具

android 程序员 移动开发

Android面试心得必备技能储备详解,已拿到offer,androidhtml5开发框架

android 程序员 移动开发

Android面试抱佛脚:进程间通讯学习,从Binder使用看起

android 程序员 移动开发

Android面试:来说一说Context吧,Android中的Context跟Java有什么区别

android 程序员 移动开发

Android面经:入职网易的那一天,我哭了,狂刷200道数据结构与算法

android 程序员 移动开发

Android面试回忆录:Service有几种启动方式?,大佬带你看源码

android 程序员 移动开发

Android面试必备!爆火超全的《Android性能优化全方面解析

android 程序员 移动开发

Android面试题之Listview篇,2021Android面试心得

android 程序员 移动开发

Android面试主题整理合集(三),Android屏幕适配很难嘛其实也就那么回事

android 程序员 移动开发

【设计模式】第十一篇 - 装饰模式 - 孙悟空的六神装

Brave

设计模式 装饰模式 11月日更

Android高工面试:用Glide加载Gif导致的卡顿,说一下你的优化思路

android 程序员 移动开发

Android高工:细说 Android 多线程,探究原理知其所以然

android 程序员 移动开发

Android面试吃透这一篇就够了,没有拿不到的offer!1096页Android学习笔记

android 程序员 移动开发

Android题集四大组件之Content provider、BroadcastReceiver

android 程序员 移动开发

Android高工面试(难度:四星,Android开发三年月薪才12K

android 程序员 移动开发

Android:2021大厂直通车面试宝典,为你的offer保驾护航

android 程序员 移动开发

Android高工面试(难度:四星(1),真的太香了

android 程序员 移动开发

英特尔与腾讯以全方位合作 开启云数智时代新征程

科技新消息

Android:这是一份全面&详细的-热修复-学习指南(1),统统给你解决

android 程序员 移动开发

Vaadin发布Polyglot框架第8版_Java_Michael Redlich_InfoQ精选文章