ZK是一套以 AJAX/XUL/Java 为基础的网页应用程式开发框架,用于丰富网页应用程式的使用接口。最大的好处是,在设计AJAX网络应用程式时,轻松简便的操作就像设计桌面程式一样。 ZK包含了一个以AJAX为基础、事件驱动(event-driven)、高互动性的引擎,同时还提供了多样丰富、可重复使用的XUL与HTML组件,以及以 XML 为基础的使用接口设计语言 ZK User-interfaces Markup Language (ZUML)。

参考文档:

  1. 介绍: http://www.zkoss.org/doc/devguide/index.html http://blog.csdn.net/evangel_z/article/details/24393175
  2. 介绍:http://www.cnblogs.com/kevin-yuan/archive/2012/10/08/2714939.html
  3. 中文介绍:http://www.oschina.net/news/46324/zk-7-0-final
  4. 官网:http://www.zkoss.org/download/
  5. 其他书籍 :http://my.oschina.net/u/658658/blog/410747#OSC_h3_5
  6. ZK入门教程: http://books.michaelapp.com/zkbook/ZK%E6%95%99%E7%A8%8B.doc
  7. ZK框架:Ajax开发实战: http://books.michaelapp.com/zkbook/ZK%E6%A1%86%E6%9E%B6%EF%BC%9AAjax%E5%BC%80%E5%8F%91%E5%AE%9E%E6%88%98.pdf

附录:ZK的缺点
作者:KevinShn 链接:http://www.zhihu.com/question/19769460/answer/13619003

我个人觉得zk主要是一个效率问题,因为它所有的页面效果控制都需要经过服务器,举个例子,点击一个按钮后弹出对话框, zk完成需要这么几步:

1.点击按钮–>发送ajax请求(Aurequest)—>服务器端java程序接收到请求–>返回响应–>浏览器端接受到响应,调用与服务器端组件相对应的js组件,展现效果。即使是最最简单的一个页面效果,都需要这么多步,而传统方式上,很多时候,可以完全交给js处理,不需要与交互,这就是开发方便的代价。

2.组件扩展不够方便,如果需要扩展自己的组件,你必须清楚zk的内部运行机制,特别是协调java端和js的组件同步问题,都很麻烦,而一般使用zk,就是看中了用它开发,可以完全不写js 。