Friday, May 15, 2009

(ZT) ajax框架比较

Dojo1.0.2,Ext2.0.1,GWT1.4,Prototype 1.5.1,JQuery 1.2.3,MooTools 1.2


Ajax Framework分类:

1.

javascript底层封装,自由度大,具有基础的Widget组件

Prototype 1.5.1,JQuery 1.2.3,MooTools 1.2

2.

面向用户的Widget开发,不需要太多编写

Ext2.0.1

3.

完整,成熟的整套框架

Dojo1.0.2,GWT1.4,SmartClient


优缺点分析:

1.

优点:js文件占用小,开发由开发人员控制,可扩展性大

缺点:需要较长的开发周期,开发人员有相当的经验

2.

优点:丰富,美观的UI Widget设计,扩展CSS改变风格

缺点:自定义Widget编写

3.

优点:从底层封装,到UI设计都有不错的实现

缺点:框架过于庞大,掌握时间较长


项目适用性分析:

1.

过于底层,需要相当的经验及人力 剔除
2.

Ext2.0.1画面可称为Perfact,是所有Ajax Framework中最炫的,常用功能相当齐全,在Widget过多时会出现性能瓶颈问题

Demo:http://www.dojochina.com/book/ext/examples/index.html

3.
1.

SmartClient:原本是商业项目,去年11月开源,丰富的Widget和Demo

Demo:http://www.smartclient.com/#_Welcome

2.

Dojo1.0.2:时间最长久的Ajax框架,从UI Widget到图表,底层到高层一 应俱全

Demo:http://www.dojochina.com/dojo/demos/demoEngine.html

3.

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/


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迭代当机的可能,但相当慢是必然的。

No comments: