最近工作中在使用zk做开发,到现在已经有了一定经验,感觉zk还是有很多自身的优势。
首先是个个人自学习过程中感觉最好的zk入门中文博客:
http://blog.csdn.net/daquan198163/article/details/9304897
其次,学习zk最好的方式还是zk的官方文档:
http://www.zkoss.org/download/
zk的官方文档有8个文件,里面的内容非常详尽,入门看installation guide和developer's reference,基本开发在看component reference,项目中我进行了组件的封装,这部分主要是component development。
之前,我使用过jsp和html配合一些js框架进行过开发,这些开发模式当然很成熟,也有很多优点。但是,zk给我的感觉完全不一样,zk容许开发人员以面向对象的方式来进行前端页面的开发。
一方面,在使用zk现有控件时,在后端Java对象中,总能定义一个对象与前端控件一一对应,而且能够自动绑定各种事件和数据变动(这些数据的传输还是基于传统的ajax,但zk都以及封装好了),Java开发人员能够非常舒服地对这些数据以对象的方式直接在后端进行访问。
另一方面,在规划页面模块时,可以将一些已有组件进行封装,封装成自己的大的组件模块,这个行为跟面向对象的封装思想完全一致,这种开发方式在很大程度上降低了前端控件之间交互逻辑的开发,在我们当前项目中,我按照jsp开发模式规划的2周的任务,4天就基本开发完成了。
最后,zk降低了对开发人员的要求,开发人员不用懂js框架也能快速地进行页面开发,不用懂css也能开发出漂亮的页面。
zk的缺点就是zk内部默认的交互机制,全部通过ajax在前后台通信同步完成,会对速度有一定影响,但这样做的另一个附加收获是从前端隐藏了数据的处理逻辑.
最后附上两个资源:
zk的开发文档,官网上也可以下载到,如果下不下来,可以从下面地址下载:
http://download.csdn.net/detail/joseph_001/9390527
zk组合模块开发的demo,这个是我个人项目中开发使用的一个demo,运行环境见下载页面,附上下载地址:
http://download.csdn.net/detail/joseph_001/9390559