1、ZK框架简介
ZK框架是一个用JAVA实现的简单但是功能强大的表现层框架。它包括了一个基于Ajax的事件驱动引擎、这也是它的最大特色。可以做到没有JavaScript,只通过ZUML(ZK User Interface Markup Language)这种标识语言即可做到界面创建和事件响应。
ZK的实现完全用java实现,开发过程中不会有任何的JavaScript代码,但是通过将zul文件(ZK的源文件,类似于jsp文件)通过ZK引擎编译后查看页面源代码,结果还是可以看到,ZK实现的本质还是通过 JavaScript+CSS来处理异步请求的。
组件是ZK中最常见的元素。有点类似于JAVA Swing或者VB这样的基于组件的编程。结合ZK Studio,可以达到可视化和动态地查看页面效果。
特征:
1. 它是一个表现层工具。可以与hibernate,iBatis,spring等凡是与JAVA有关的结合构建一个完整的WEB应用。
2. 以服务端为中心的框架。它封装了Ajax的后台处理技术。服务端由两个重要部分实现:ZK加载器,ZK异步更新引擎。前者负责解析URL请求,生成HTML页面;后者负责监听和处理客户端的Ajax请求,同时更新ZK组件的属性,然后将Ajax响应发回给客户端。
3. 基于组件的GUI。页面的可视部分都是由组件构成。类似于HTML标签,但是比HTML标签更灵活。
不足之处:
1. ZK与JAVA结合紧密。由于ZK的组件都是由JAVA实现,所以对组件的控制也仅限于用JAVA语言。无法与控制层解耦。
2. 学习资料和文档比较少。最全面的ZK应用其实还是官方的DEMO。连《ZK框架——Ajax开发实践》一书都是用的官方例子。所以对有些事件或者属性只有自己探索。
3. ZK的测试比较薄弱。对页面无法用工具进行测试。只能用手动测试。调试也不方便。出错了的话错误信息不明确,无法很快定位问题。