写点什么

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

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

关注

评论

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

关于 IoTDB 的疑问,我们这次有奖征集!

Apache IoTDB

一文了解电商大促系统的高可用保障思路-献给技术伙伴们

京东科技开发者

python Socket无限发送接收数据方式

我再BUG界嘎嘎乱杀

Python 编程 后端 socket 开发语言

关于Arrays.asList返回List无法新增和删除?

EquatorCoco

数据结构 后端

腾讯会议升级“万室如意”计划,助力实体会议室引入AI能力

Geek_2d6073

Voice agent connected!回顾一场 24 小时的黑客松

声网

阿里巴巴拍立淘API返回值:商品分类与属性的智能识别

技术冰糖葫芦

API Explorer API 接口 API 策略

微软发布 Phi-3.5 系列模型,涵盖端侧、多模态、MOE;字节 Seed-ASR:自动识别多语言丨 RTE 开发者日报

声网

上线一天销售额超15亿!《黑神话:悟空》火爆全网的技术秘诀!

可信AI进展

人工智能

七牛云 CDN 视频瘦身,为视频分发「减负增效」

七牛云

CDN CDN带宽

如何使用 Higress 快速构建 AI 应用?

阿里巴巴云原生

阿里云 云原生 Higress

预制菜工厂MES系统:具体功能与应用场景

万界星空科技

mes 万界星空科技 预制菜加工 预制菜工厂 预制菜生产管理

解锁未来财富密码:AI自动化副业创收班——终身财富加速器

测吧(北京)科技有限公司

测试

云手机如何保障TikTok多账号安全运营

Ogcloud

云手机 海外云手机 tiktok云手机 手机群控 tiktok矩阵

DAPP算力合约代币质押项目系统开发步骤详细解析

V\TG【ch3nguang】

云原生与AI融合持续深化,华为推动全球智能化新浪潮

新消费日报

5款在线PPT工具,一键生成精美的PPT幻灯片!

职场工具箱

效率工具 职场 PPT 办公软件 AI生成PPT

Python多进程日志以及分布式日志的实现方式

我再BUG界嘎嘎乱杀

Python 编程 多线程 日志 分布式日志

短剧开发丨短剧系统开发模式讲解丨短剧现成源码

V\TG【ch3nguang】

短剧系统开发

探索顶级免费文档管理系统:‌为您的企业找到最佳匹配!‌

爱吃小舅的鱼

文档管理 免费 文档管理工具

数据安全审计必备攻略:一文掌握6大核心审计要点(附下载)

极盾科技

2024年最受欢迎的轻量级项目管理软件推荐

爱吃小舅的鱼

项目管理 轻量项目管理

快手主站前端工程化探索:Gundam 脚手架在新春除夕项目中的实践与展望

快手技术

前段

开发听书音频平台,如何在利润率下降环境中保持竞争力

软件开发-梦幻运营部

基于飞桨框架实现PCA的人脸识别算法

百度Geek说

人脸识别 百度飞桨

为什么要用云手机进行海外社交营销

Ogcloud

云手机 海外云手机 云手机海外版 海外社媒营销

Java 流式编程的七个必学技巧

高端章鱼哥

Python开发中,SQLAlchemy 的同步操作和异步操作封装,以及常规CRUD的处理。

不在线第一只蜗牛

Python 数据库 oracle

MySQL 亿级数据平滑迁移实战

EquatorCoco

MySQL 数据库

动态化-鸿蒙跨端方案介绍

京东科技开发者

2025第二十四届杭州国际智能楼宇展览会

AIOTE智博会

智能楼宇展 智能楼宇展会 智能楼宇展览会

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