写点什么

ZK Web 框架 6.0 发布:新型数据绑定系统

2012 年 3 月 31 日

Potix ,这家提供 ZK 框架的公司最近发布了该基于 Java 的 Ajax Web 应用框架的 6.0 版。ZK 是一款开源 Java 框架,使得开发者能够基于 Ajax(无需编写任何 JavaScript)来开发丰富的互联网应用。除了提供样例演示外,公司官方网站还罗列了几个现实生活中使用ZK 的应用。

Google Web Toolkit 采用的方式类似,ZK 抽象了所有 JavaScript 和 HTML,开发者只需关注运行在服务器端的面向业务逻辑的 Java 代码即可。这可以通过实现一个在服务器端的事件引擎和一个在客户端(Web 浏览器)的 JavaScript 来达到。按这种方式,服务器端数据和客户端呈现之间的同步完全是自动的。开发者可以用自己熟悉的桌面框架(比如 Swing)事件模型来编写一个完整的应用。

这次最新版本中的改变包括:

  • 遵循 MVVM 模式的新型“ZK 绑定”系统
  • 运行在服务器端的 jQuery/CSS 3 风格选择器
  • 从 jQuery 1.4.x 升级到 1.6.x(性能提高)
  • 高级模板
  • 面向 Servlet 3 异步处理的 ZK Comet 支持
  • 新组件(而弃用老组件)
  • 升级到 Java 5
  • 新的默认主题选择

其中最重要的一个改变是新型数据绑定系统。ZK 遵循 Model View ViewModel 模式(MVVM),这里的视图模型(ViewModel)层负责将模型(Model)中的值转化为视图(View),并且当视图被用户改变时,将其更新回模型。图形化用户界面由标记语言声明,该语言完全和模型(Model)中包含的数据分离。在 ZK 框架中被使用的标记称作 ZK 用户界面标记语言(ZUML),而真正的业务逻辑驻留在 Java 代码中。这里的一大原则就是 ZUML 能够被非编程人员编辑,这样就可以并行进行用户界面(UI)和 Java 代码的开发,从而提高效率。该模式并非 ZK 专属,其它大家熟知的例子包括 Mozilla 的 XUL 和 Miscrosoft 的 XAML 。ZK 也支持通过 ZK Richlets ,使用纯 Java 来创建用户图形界面(GUIs)。

“ZK 绑定”支持 EL 2.2 表达式,使得可配置数据能够在 ZUML 图形化组件和服务器端 Java 对象之间传输(单向或双向)。直接支持在 CDI Seam Spring beans 上的绑定。由于升级到 Java 5,允许在服务器端代码中使用泛型和类型安全。需要说明的是,对那些需要 ZK 5 的老式绑定系统,或目前还不想升级的用户来说,老版本仍然提供支持。

另一个要介绍的新特性是提供了面向 _ 服务器端 _Java 代码的 jQuery 风格选择器。该功能给开发者提供了一种简洁又方便的方式来访问服务器端组件。下面是从 ZK 文档中直接拿来的一个样例:

复制代码
Window win;
// returns all components with id "myId" under the Window win. (including itself)
Selectors.find(win, "#myId");
// returns all components whose .getLabel() value is "zk" (if applicable)
Selectors.find(page, "[label='zk']");
// you can assemble the criteria:
// returns all labels, whose parent is a window of id "win", and whose value is "zk"
Selectors.find(page, "window#win > label[value='zk']");

最后,ZK 6.0 利用了 Servlet 3.0 规范中对异步请求的支持。这意味着可以使用每个请求对应一个线程(Thread-Per-Request)的实现方式,而非每个连接对应一个线程(Thread-Per-Connection)。由于线程在不需要时可以更频繁的循环使用,性能就会得到提高。

ZK 6.0 的下载包含多个版本,这由其许可决定。更多的信息可以通过参考文档 Javadocs 来了解。源代码在 GitHub 上可以得到。升级指导文档也已经可用。

查看英文原文: ZK Web Framework 6.0 Released: New Data Binding System

2012 年 3 月 31 日 07:572825
用户头像

发布了 52 篇内容, 共 13.6 次阅读, 收获喜欢 2 次。

关注

评论

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

keycloak集群化的思考

程序那些事

架构设计 架构师 权限系统 程序那些事 集群服务

量化交易系统开发软件源码

系统开发咨询:I76-883I-5I52 邓森

运维大规模ES集群的思考和实践

京东智联云开发者

数据库 elasticsearch 数据分析

JDK、JRE、JIT、SDK、JVM的区别你是否了解?

程序员小毕

Java jdk JVM JIT sdk

案例研究之聊聊 QLExpress 源码 (五)

小诚信驿站

刘晓成 小诚信驿站 28天写作 QLExpress源码 聊聊源码

TRX智能合约系统开发案例详解

系统开发咨询:I76-883I-5I52 邓森

GrowingIO Design 组件库搭建之开发工具

GrowingIO技术专栏

前端 设计

废弃fastjson!大型项目迁移Gson保姆级攻略

Zhendong

Java json Gson Fastjson

助力智慧城市,力软工程师严寒中协助客户上线物联网项目

力软.net/java开发平台

物联网

【小菜学网络】MAC地址详解

fasionchan

网络编程 网络协议 TCP/IP

普通人必须掌握的五个必学理财知识

v16629866266

备战2O2I新年资料

ios 面试

又出神作!阿里技术官再出山,操作性超强的Spring事务+AOP实践手册

比伯

Java 编程 程序员 架构 面试

Redis 用的很溜,了解过它用的什么协议吗?

古时的风筝

redis RESP Redis 协议

2020年度最全Java面试题(含答案),让你的2021面试之路畅通无阻!

Crud的程序员

Java 程序员 架构 开发语言

图解 | 原来这就是网络

云流

编程 网络 计算机

京东搜索排序在线学习的 Flink 优化实践

Apache Flink

flink

区块链未来三年内将广泛落地

CECBC区块链专委会

区块链

新思科技静态应用安全测试解决方案获得Forrester Wave认可

InfoQ_434670063458

新思科技 Forrester Wave 静态应用安全测试

一周信创舆情观察(1.4~1.10)

统小信uos

龙归科技 |企业办公自动化的未来

龙归科技

最近线上发生的两个坑爹锅

艾小仙

后端

springboot整合Shiro

Java架构师迁哥

币值管理机器人系统开发|量化交易系统开发

W13902449729

币值管理机器人系统开发 量化交易系统开发

Spring Boot 中的MVC支持

倪升武

Java mvc springboot SpringBoot 2 28天写作

枪手博弈 - 在强者的世界,弱者的生存法则

石云升

博弈论 28天写作 枪手博弈

架构师训练营第二周作业 - 学习总结

阿德儿

架构师训练营第二周作业 - 命题作业

阿德儿

数字货币量化对冲搬砖套利交易软件APP系统开发

开發I852946OIIO

系统开发

工信部:推动区块链等与工业互联网的融合技术研究

CECBC区块链专委会

大数据

低代码开发平台的技术路线

Sam678678

InfoQ 极客传媒开发者生态共创计划线上发布会

InfoQ 极客传媒开发者生态共创计划线上发布会

ZK Web框架6.0发布:新型数据绑定系统-InfoQ