让Java後端工程师免烦恼前端的 UI 框架

整体来说,ZK 框架的特性如下:

ZK 能帮助你专注在後端核心业务逻辑

对做应用系统的工程师来说,实作该应用系统的「核心业务」是最重要的工作,例如财会、仓储、人力资源等,因此多半会采用某些应用程序框架或函式库来打造非核心功能,例如用 slf4j 来写日志,用 spring 来做依赖管理,藉此省去时间来专注在最主要的核心业务上。毕竟这部分才是没有通用解法,需要开发者去实作的部分。

而前端绘制与前後端沟通一般也不是应用系统核心,采用 ZK 同样能省去烦恼这些议题,让你更专注在解决你核心业务的问题。

只用 Java 就能享受 AJAX (WebSocket) 带来的好处

使用 ZK 时,整个开发过程中,你都不需要了解浏览器跟服务器间透过 AJAX 沟通的细节 (连接、重送、传送内容的格式转换等),只要遵照开发模式实作必要的 Java 控制器类别 (controller) 即可。

8.5 之後,你可以设定 ZK 底层采用 WebSocket 跟服务器通讯,上层控制器类别则完全不需要改写。

丰富的元件

ZK 最能提升你生产力的主因之一就是上百个重用性高的 UI 元件。透过 XML 格式的 ZUL 语言,你可以快速、轻易地用元件打造出一个复杂的页面,并且能够以 Java 控制,完全不需撰写 javascript。元件的设计都是针对常见的应用程序介面需求,从简单的下拉清单到复杂的树状结构都有,你可以针对需求选用适合的元件,无需自己重新设计,让你专注在你的系统业务逻辑上。
https://ithelp.ithome.com.tw/upload/images/20210917/20050621k14VRvDeM4.png

美观、风格一致的元件介面设计

在开发应用系统时,最主要专注的核心问题是客户所需的业务逻辑,如果你花很多时间在处理怎麽绘制画面这种次要的衍生性问题上,相对就减少你处理核心问题的时间,这对系统完成是很不利的。而且,大部份的後端工程师不擅长绘制画面,ZK 元件除了已经有设计好的使用者介面逻辑外,也有设计师调整好的色彩配色、一致的主题式外观,可以省去你处理这些问题的时间,让你更专注在你本身的业务逻辑上。
https://ithelp.ithome.com.tw/upload/images/20210917/200506214iQSlJB3FK.png

前後端整合的解决方案

如果你选用一个纯後端的框架(例如 thymeleaf),你得自己实作前端效果。如果你选用一个前端框架 (例如 Angular, React) 来实现前端效果的话,势必会需要处理跟後端的沟通,包含资料传输格式与沟通的方式,这其实是个挺麻烦的问题,因为两边是异质性的平台/语言,采用 ZK 可以一次解决以上这些问题,你只需要专注在後端整合上,前端的绘制与沟通你都不需要操心。

整合前端技术的可能性

虽然 ZK 元件的前端 javascript widget 都已经设计好了,但是你仍可以透过继承、覆写 widget 来客制化前端的行为,或是透过 data attribute handler 来整合第三方 javascript 函式库,将一些好用的功能套用到既有的元件上。甚至透过 client command binding 来整合第三方的 javascript 框架如 Angular, Reactjs 等。

成熟的企业级框架

ZK 从最初 1.0 释出至今已经超过 10 年,全世界(主要是欧美)都有许多企业采用,因此是一个成熟的框架,多数企业所遇到的问题, ZK 都已有对应的解法。
例如下面是一个基於 ZK 的 project tracker 系统:
https://ithelp.ithome.com.tw/upload/images/20210917/20050621qpRLyHyti4.jpg


<<:  Day3 HTML、CSS、JavaScript基本架构

>>:  Day-03 认识Android模拟器

Day22 - 前处理: 资料平衡&Label 调整

在 Day20 介绍资料集时有提到过五类情绪有资料不平衡的问题,为了处理资料不平衡的问题,我们会在 ...

[Golang] Goroutine Concurrency多执行绪浅谈

Goroutine Golang 中多执行绪称为" Goroutine" ,在其...

那些被忽略但很好用的 Web API / SessionStorage

狡兔有三窟,储存用户端的资料当然也要有三个。 相信大家应该都有遇过需要将资料储存在用户端的需求,像...

[Day-15] for回圈

今天也是要练习回圈 但不是while而是for回圈 while以及for两者都是回圈 其实功能基本上...

小产品跟大产品都可以通用的决策系统:Randomized AB Test

疫苗在台湾第一次吵得沸沸扬扬时,我也被各种有孔没笋的消息搞得莫名其妙,为了跟人争辩时不要说错话,闲人...