什麽是Vaadin - day01

Vaadin 简介

Vaadin 是一款由芬兰 Vaadin 公司所开发,用於建构网路应用程序和网站的Java Web 框架。前身为2002年释出的open-source 版本 Millstone 3 ,此一版本导入基於 Ajax 的渲染引擎,大大简化了开发人员工作,2006年此概念被单独开发为商品。2007 年初发布第四版并更名为 IT Mill Toolkit,使用特有的 JavaScript Ajax进行client-site 渲染技术,使得在实作新的 widgets 上更加得复杂。於是同年末弃用,转而使用GWT (Google Web Toolkit) 技术重写 client-site 并将其开源。

经过一年多的开发测试,2009年4月发布版号 IT Mill Toolkit Release 5,为避免与前一版的 IT Mill Toolkit 混淆,同年五月推出第六版 pre-release 并改名为 Vaadin Framework,公司亦正式更名为 Vaadin Ltd.。2010年 Vaadin Directory 启用,提供 add-on components 供使用者下载或上传,在启用当时,已提供95个组件可供下载,目前已有近 2000 个 add-on components,至此,Vaadin 日後发展已大势底定。

除了民间无论免费或付费 add-on components 外,Vaadin官方亦提供大量 UI components 供开发者使用,除了 Pro Components (Board、CRUD、Charts、Confirm Dialog、Grid Pro…..) 为付费版外,其余 UI Components 皆为免费使用。

为什麽使用Vaadin?

一个平台要蓬勃发展,自由扩充度和供开发者下载的 components 数量起了关键作用,大大影响开发者投入意愿,Vaadin V6 以降,十多年来各式前端框架如雨後春笋,Vaadin 也不再只是 Java Web development platform 。2018年发布 10 LTS(长期支援版),宣布以 Vaadin Flow 做为新一代框架,同时在Vaadin Directory增加了 Web Components,隔年马上发布 14 LTS,支援 npm、polymer 3和ES6,亦将之拆分为 Flow (Java UI)及 Fusion (TypeScript UI)。

笔者无意让初识 Vaadin 诸位感到混淆,而是 Vaadin 经过多年沿革及发展,除了依旧为 Java Backend,对於如何渲染前端已不仅提供单一选项。由於 Vaadin 快速发展时期最兴盛的开发工具为 Eclipse 及 Netbeans,专案自动化构建工具则是 Maven,至今支援最完整的 plugins 仍是 Eclipse,但以 Vaadin 过去发展史看来,对 IntelliJ、Gradle 和 Kotlin 的开发支援指日可期。

现今除了维护旧案,或旧案之延伸开发,新案大都不再使用 Eclipse 或 Netbeans,故本系列文择 IntelliJ 、 Kotlin,开发环境如下 :

  • IntelliJ IDEA Ultimate (Community Edition)
  • Java 8 JDK (或更新)
  • Gradle 5 (或更新)
  • node.js + npm (若未安装,Vaadin Gradle plugin将会自动安装)

https://ithelp.ithome.com.tw/upload/images/20210916/20138680db6gAYbrcS.png
本图撷取自https://vaadin.com/


<<:  浅谈负载平衡

>>:  [Day 02] 工欲善其事,必先利其器 - [C#]丰收款API必备前置作业(一)

[Day 15] Leetcode 138. Copy List with Random Pointer (C++)

前言 今天选择的是top 100 liked,并与linked list相关的题目:138. Cop...

Day9:串列(list)

串列(list)是一种资料型态(Data type),在串列中的每一个元素都会被分配一个值从&quo...

前端工程师也能开发全端网页:挑战 30 天用 React 加上 Firebase 打造社群网站|Day10 发表文章功能

连续 30 天不中断每天上传一支教学影片,教你如何用 React 加上 Firebase 打造社群...

[PoEAA] Data Source Architectural Pattern - Row Data Gateway

本篇同步发布於个人Blog: [PoEAA] Data Source Architectural P...

Day28【Web】网页的号码牌:Cookie

无状态的 HTTP 浏览网页常用的 HTTP(超文本传输协定) 是一种无状态协定。 也就是收到请求就...