AJax框架
- DWR - Web Remoting
- Buffalo - Web Remoting (based on prototype)
- prototype - JS OO library
- openrico - JS UI component (based on prototype)
- dojo - JS library and UI component
- qooxdoo - JS UI component (C/S Style)
- YUL - JS UI component
Web Remoting - DWR vs Buffalo
DWR和Buffalo都是Web Remoting框架,區別在於:
- DWR使用自定義的簡單文本協議,而Buffalo使用burlap協議。因此Buffalo解析大數據量可能會比較慢,然而可以適用於多種服務器端和客戶端,並且burlap協議的完整性和支持的數據類型更加豐富
- Buffalo基於prototype,如果你的AJax應用也是基於prototype,那麼可以減少重復加載prototype的帶寬,並且獲得相當一致的編程概念
- DWR的服務器端實現要比Buffalo完善一些
- DWR更加通用一些,用戶比較廣,而Buffalo是國內的Michael寫的,用戶使用比較少(名氣較小)
- 建議使用buffalo,相對更加易用,然而服務器端功能有待完善
JavaScript Component Library - prototype vs qooxdoo vs dojo vs YUL
- prototype是一個非常優雅的JS庫,定義了JS的面向對象擴展,DOM操作API,事件等等,之上還有rico/script.aculo.us實現一些JS組件功能和效果(不過目前還不是很完善),以prototype為核心,形成了一個外圍的各種各樣的JS擴展庫,是相當有前途的JS底層框架,值得推薦,prototype以及rico/script.aculo.us的一個特出特點就是非常易學易用,門檻很低,常常是一兩行JS代碼就可以搞定一個相關的功能。同時它也是RoR集成的AJax JS庫。
- qooxdoo是一個功能很強的JS組件庫,完全模仿Windows操作系統的GUI組件。特點是不通過常規的Html來構造頁面,完全使用JS以類似VB/Delphi風格的編程方式構造Web GUI界面,比較適合內網面向C/S風格的web應用,,而不適合面向Internet的界面多變風格的應用。qooxdoo的一個重大賣點在於qooxdoo將要提供一個FormDesigner的IDE,通過在IDE裡面的可視化拖拽設計方式來自動生成C/S風格的web頁面js代碼。qooxdoo缺點是JS文件體積過大,超過200KB,初次下載會比較慢,而且並不適合Internet消費類網站。
- dojo是一個各個方面相當完善的JS庫,包括了JS本身的語言擴展,以及各個方面的工具類庫,和比較完善的UI組件庫,也被廣泛應用在很多項目中,他的UI組件的特點是通過給Html標簽增加tag的方式進行擴展,而不是通過寫JS來生成,dojo的API模仿Java類庫的組織方式。dojo的優點就是庫相當完善,發展時間也比較長,缺點是文件體積也比較大,200多KB,初次下載相當慢,此外,dojo的類庫使用顯得不是那麼易用,至少給我的感覺是相當笨拙,特別是和prototype相比,更加顯得難用。
- YUL是Yahoo新近發布的AJax組件庫,也是一個包含了各個方面,從工具類庫到通訊,到UI組件的綜合性JS庫。YUL的優勢在於文檔非常齊全,而且有Yahoo的支持,缺點是庫目前還是不是很全,功能也不強大。