from:http://www.cnblogs.com/lds85930/archive/2008/05/22/1205148.html ajax框架比较
Dojo1.0.2,Ext2.0.1,GWT1.4,Prototype 1.5.1,JQuery 1.2.3,MooTools 1.2
Ajax Framework分类:
- javascript底层封装,自由度大,具有基础的Widget组件
Prototype 1.5.1,JQuery 1.2.3,MooTools 1.2
- 面向用户的Widget开发,不需要太多编写
- 完整,成熟的整套框架
优缺点分析:
- 优点:js文件占用小,开发由开发人员控制,可扩展性大
缺点:需要较长的开发周期,开发人员有相当的经验
- 优点:丰富,美观的UI Widget设计,扩展CSS改变风格
缺点:自定义Widget编写
- 优点:从底层封装,到UI设计都有不错的实现
缺点:框架过于庞大,掌握时间较长
项目适用性分析:
- 过于底层,需要相当的经验及人力 剔除
- Ext2.0.1画面可称为Perfact,是所有Ajax Framework中最炫的,常用功能相当齐全,在Widget过多时会出现性能瓶颈问题
Demo:http://www.dojochina.com/book/ext/examples/index.html
-
- SmartClient:原本是商业项目,去年11月开源,丰富的Widget和Demo
Demo:http://www.smartclient.com/#_Welcome
-
- Dojo1.0.2:时间最长久的Ajax框架,从UI Widget到图表,底层到高层一 应俱全
Demo:http://www.dojochina.com/dojo/demos/demoEngine.html
-
- GWT1.4:适用于单一Html,功能全由Ajax实现的应用
e.g. GMail , Google Map
Demo:http://code.google.com/webtoolkit/examples/
- GWT1.4:若在多页面跳转项目中使用,会产生大量的文件(1个html至少产生11个必需文件,不利于后期文件系统管理) 剔除
- SmartClient:具有丰富的UI设计和成熟的框架体系,但由于过去作为商业应用,于去年11月刚刚开源,在社会上缺乏使用基础,文档除了官方提供外无他 剔除
性能分析:
SlickSpeed
http://mootools.net/slickspeed/
selectors |
Dojo 1.0.2 |
JQuery 1.2.3 |
MooTools 1.2beta2 |
Prototype 1.6.0.2 |
IE |
230 |
353 |
795 |
2615 |
Firefox |
164 |
255 |
139 |
252 |
http://extjs.com/playpen/slickspeed/#
selectors |
Prototype 1.5.1 |
jQuery 1.1.3.1 |
MooTools 1.2 dev |
ext 1.1rc1 |
dojo query |
IE |
1076 |
440 |
831 |
179 |
403 |
Firefox |
88 |
291 |
116 |
212 |
233 |
Ext性能瓶颈问题:
过去放弃Ext是由于Ext在处理大量控件,诸如数据表格阵列时性能堪忧。
测试案例:
加载数据量 共耗时(秒) 直接调用Action返回XML耗时(秒)
20 2 <1
200 10 2
700 20 8
1400 40 17
其实所有Ajax Framework对于大量Grid都会出现诸如Ext性能问题,Ext比较突出的原因,我认为是因为它做得太漂亮了,造成了div层迭代过多。
Web设计中放弃table转而使用div+css的架构,原因就在于迭代table对于客户端的运行效率是个噩梦,如果使用过多的div虽然不至于产生table迭代当机的可能,但相当慢是必然的。