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開發,不需要太多編寫
Ext2.0.1
完整,成熟的整套架構
Dojo1.0.2,GWT1.4,SmartClient
優缺點分析:
優點: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/
效能分析:
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迭代當機的可能,但相當慢是必然的。