ZKoss学习感受

ZKoss官网的Demo,基本过了一遍,组合着组件写了个简单图片浏览。界面如下。

[img]/upload/attachment/49707/300c43e1-ac43-33e3-bb56-ffbc1d67ad17.png[/img]

功能很简单,可以上传图片,点击右边的图标,可以将图标显示出来,对显示出来的图标可以拖放到右边的图标栏里去(上传上来的图片不能拖放,对组件还不熟,有些功能不知道是没有还是找不到,以后再找。)调节游标可以对图片进行缩放。
代码很简单,不说了。说下对这个程序的体验。先看文档里面的一个图。

[img]/upload/attachment/49716/1d9a4a94-374f-3b6e-a3e7-b013eeae2d73.png[/img]
从图上可以看出ZK的工作流程。当有一个请求出现后,ZKLoader会根据请求装配出页面,并返回给用户,用户在页面上的操作,会触发不同的事件,ZK Client Engine将这些事件发送给ZK AU Engine 去处理,处理完成后再返回。下面是ZK文档里面的解释。
[color=gray]
1. 当用户在浏览器中键入一个URL或点击一个超链接时,一个请求便被送到了
Web服务器,如果URI符合ZK的配置[18],ZK 加载器则援引担任这一要求 。
2. ZK 加载器(ZK loader)加载指定的页面然后解释它,以据此创建和适的组件。
3. 当解释完整个页面后,ZK 加载器(ZK loader)将结果送到一个HTML页面。然
后这个HTML页面被送回浏览器和ZK客户端引擎(ZK Client Engine)[19]一起。
4. ZK客户端引擎(ZK Client Engine)坐落在浏览器,以监视由客户的活动触发的
事件,例如挪动鼠标,或改变某个值。一旦监测到,它就通知ZK AU引擎通过
发送一个ZK请求[20]。
5. 当从客户端引擎接到 ZK 请求后, 如果有需要的话 AU 引擎就更新相应组件的内
AU
容。 然后, 引擎通过调用相关的事件处理程序(如果有的话)来通知应用程序。
6. 如果应用程序选择改变组件的内容, 添加或移动组件, 引擎通过 ZK 响应(ZK
AU
responses)将更新后组件的新内容送至客户端引擎。
7. 这些 ZK 响应实际上是一些命令, 这些命令指示客户端引擎如何更新 DOM 树的
内容。[/color]

可以看出,ZK的处理都是基于事件的,且工作全部在后台完成,效率就可以想象了。ZK文档上也说了。
[color=gray]
ZK 不适合在客户端运行多任务的应用程序,例如 3D 动作游戏,除非你写编写一个特殊的组件。
ZK 也不适合需要大量使用客户端计算能力的应用程序。[/color]

在写的例子中也感受到了这一点,在点击Upload上传中,明显感觉到了显示的延迟。在拖拉游标改变图片大小的时候,图片的改变也是有迟钝现象。
感觉到ZK可能只能用于小型系统。而我下面要做的是企业的一个网站发布平台,同一时间也就一两个人操作,还是没什么影响的。大点的项目还是考虑其他框架吧。或者等网速的提高吧 :D
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值