快速创建 Dojo Widget

Dojo 是目前最热门也是最有前途的 AJAX 框架之一,最近在项目中的客户端用了大量的 Dojo Widget 来制作界面,用起来很方便,但是性能成为了最大的问题,上千个 widget 需要 1,20 分钟才能完全载入,完全的不能接受。Dojo 的新闻组有人提到 6,70 个以上时速度问题就相当严重了。

读了代码后发现,主要的时间都花在对 template 的解析上了,最大的问题是,每次创建一个实例都要解析一次,例如创建1000个 IntegerTextbox 实例,相同的一段HTML代码就要被解析1000次,做了大量的重复工作。

于 是就试着通过使用类似 clone 的方法来创建 Widget,DOM 对象的 clone 是浏览器提供的,速度很快,简单的 Javascript 对象的 clone 也很快。最终的结果很让人满意,同样的页面只需要 2,30 秒钟就够了。这种方法有一定的限制,对于dojoType的使用方法不支持,只能用程序生成的方式,程序也有一些不同的地方。有时间的时候会试着在 Dojo 中加入对 template 解析结果的 cache,应该就可以提供更好的兼容性了,也欢迎有兴趣的 Dojo 使用者一起讨论。

具体的代码清参考我的英文页面 http://yjpark.spaces.live.com/blog/cns!DC0EB8C9CA222079!151.entry
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值