AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

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:001841
用户头像

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

关注

评论

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

redo Log 的持久化过程

卢卡多多

Redo Log 11月日更

[Pulsar] Delayed message原理

Zike Yang

Apache Pulsar 11月日更

flutter 开发中 vscode 插件推荐 3

坚果

flutter 11月日更

☕【Java技术指南】「技术盲区」看看线程池是如何回收和维持运作线程的核心技术体系

码界西柚

Java 线程池 11月日更

前缀和后缀运算符有什么区别?

devpoint

JavaScript 11月日更 前缀运算符 后缀

架构实战 - 模块四

唐敏

「架构实战营」

dart系列之:创建Library package

程序那些事

flutter dart 程序那些事 11月日更

【Flutter 专题】04 图解第一个程序遇到的安装依赖问题

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 11月日更

又谈mysql,面试官问表结构设计要注意啥?

微客鸟窝

MySQL 11月日更

在线等比数列项数生成器

入门小站

工具

Python中的控制流:break和continue

Peter

Python 控制流

一份数据的6种Plotly画法

Peter

数据分析 可视化

【LeetCode】整数替换Java题解

Albert

算法 LeetCode 11月日更

Serverless 下的微服务实践

阿里巴巴云原生

阿里云 Serverless 微服务 云原生 SAE

完善Django的MVT框架开发,记得添加路由哦~

老表

Python django web开发 11月日更 博客系统

前端开发:Node版本引起的报错问题

三掌柜

11月日更

部署Apollo

小鲍侃java

11月日更

Vue进阶(贰佰):前端UI框架介绍

No Silver Bullet

Vue UI 11月日更

不用找了,这本书帮你完全搞定Spring Cloud Alibaba

胡弦(关注公众号架构随笔录)

分布式架构 spring cloud alibaba

18 K8S之存储卷简述

穿过生命散发芬芳

k8s 11月日更

Electron常见问题 48 - Electron 获取本机 MAC 地址

liuzhen007

11月日更

.NET Core 中对象池(Object Pool)的使用

喵叔

11月日更

测试左移实践介绍

刘冉

TDD 自动化测试 测试驱动开发 测试左移 ATTD

如何设计高性能高可用存储架构

天天向上

架构实战营

【死磕Java并发】-----Java内存模型之从JMM角度分析DCL

chenssy

11月日更 死磕 Java 死磕 Java 并发

linux总结10大危险命令

入门小站

Linux

Prometheus Exporter (二)Windows Exporter

耳东@Erdong

Prometheus exporter 11月日更 Windows Exporter

[ Kitex 源码解析] 函数式编程

baiyutang

golang 微服务 Go 语言 11月日更

Android C++系列:Linux文件系统(一)

轻口味

c++ android jni 11月日更

只需10分钟,让你的企业应用具备OCR能力

明道云

Java将增加虚拟线程,挑战Go协程

编程宝库

Java golang 并发

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