1. 程式人生 > >八款JS框架介紹及比較

八款JS框架介紹及比較

Dojo 

    Dojo 是目前最為強大的JS框架,它在自己的 Wiki 上給自己下了一個定義,Dojo 是一個用 JavaScript 編寫的開源的DHTML工具箱。Dojo 很想做一個“大一統”的工具箱,不僅僅是瀏覽器層面的,野心還是很大的。Dojo 包括 Ajax、Browser、Event、Widget 等跨瀏覽器 API,包括了 JS 本身的語言擴充套件,以及各個方面的工具類庫,和比較完善的 UI 元件庫,也被廣泛應用在很多專案中,他的 UI 元件的特點是通過給 HTML 標籤增加 TAG 的方式進行擴充套件,而不是通過寫 JS 來生成,Dojo 的 API 模仿 Java 類庫的組織方式。用 Dojo 寫 Web OS 可謂非常方便。Dojo 現在已經 4.0 了,Dojo 強大的地方在於介面和特效的封裝,可以讓開發者快速構建一些相容標準的介面。
    優點:庫相當完善,發展時間也比較長,功能強大,據說利用 Dojo 的 io.bind() 可以實現 comet 看見其功能強大非一般,得到 IBM 和 SUN 的支援。
    缺點:檔案體積比較大,200多KB,初次下載相當慢,此外,Dojo 的類庫使用顯得不是那麼易用,JS語法增強方面不如 Prototype

Prototype 
    它是一個非常優雅的 JS 庫,定義了 JS 的面向物件擴充套件,DOM 操作API,事件等等,以 Prototype 為核心,形成了一個外圍的各種各樣的 JS 擴充套件庫,是相當有前途的 JS 底層框架,值得推薦,感覺也是現實中應用最廣的庫類(RoR 整合的 AJAX JS 庫),之上還有 Scriptaculous 實現一些JS元件功能和效果。
    優點:基本底層,易學易用,甚至是其他一些js特效開發包的底層,體積算是最小的了。
    缺點:如果說缺點,可能就是功能是他的弱項

dScriptaculous 
    Scriptaculous 是基於prototype.js 框架的 JS 效果。包含了 6 個 js 檔案,不同的檔案對應不同的 js 效果,所以說,如果底層用 prototype 的話,做js效果用 Scriptaculous 那是再合適不過的了,連大名鼎鼎的 digg 都在用他,可見不一般
    優點:基於prototype 是最大的優點,由於使用 prototype 的廣泛性,無疑對使用者書錦上添花。
    缺點:剛剛興起,需要時間的磨練

Yui-ext 
    基於 Yahoo UI 的擴充套件包 yui-ext 是具有 CS 風格的 Web 使用者介面元件,能實現複雜的 Layout 佈局,介面效果可以和 backbase 媲美,而且使用純 javascript 程式碼開發。真正的可編輯的表格 Edit Grid,支援 XML 和 Json 資料型別,直接可以遷入 Grid。許多元件實現了對資料來源的支援,例如動態的佈局,可編輯的表格控制元件,動態載入的 Tree 控制元件、動態拖拽效果等等。從 1.0 beta 版開始同 Jquery 合作,推出基於 jQuery 的 Ext 1.0,提供了更多有趣的功能。
    優點:結構化,類似於 java 的結構,清晰明瞭,底層用到了 Jquery 的一些函式,使整合使用有了選擇,最重要的一點是介面太讓讓人震撼了。
    缺點:太過複雜,整個介面的構造過於複雜。

Jquery 
    JQuery 是一款同 prototype 一樣優秀 js 開發庫類,特別是對 css 和 XPath 的支援,使我們寫 js 變得更加方便!如果你不是個 js 高手又想寫出優秀的 js 效果,那麼 JQuery 可以幫你達到目的!並且簡介的語法和高的效率一直是jQuery追求的目標。 
優點:注重簡介和高效,js 效果有 yui-ext 的選擇,因為 yui-ext 重用了很多 jQuery 的函式
    缺點:據說太嫩,歷史不悠久。

Mochikit 
    MochiKit 自稱為一個輕量級的 js 框架。MochiKit 主要受到 Python 和 Python 標準庫提供的很多便利之處的啟發,另外還緩解了瀏覽器版本之間的不一致性。其中的 MochiKit.DOM 尤其方便,能夠以比原始 JavaScript 更友好的方式處理 DOM 物件。MochiKit.DOM 大部分都是針對 XHTML 文件定製的,如果與 MochiKit 和 Ajax 結合在一起,使用 XHTML 包裝的微格式尤其方便。Mochikit 可以直接對字串或者數字格式化輸出,比較實用和方便。它還有自己的 js 程式碼直譯器
    優點:MochiKit.DOM 這部分很實用,簡介也是很突出的
    缺點:輕量級的缺點

Mootools 
    MooTools 是一個簡潔,模組化,面向物件的 JavaScript 框架。它能夠幫助你更快,更簡單地編寫可擴充套件和相容性強的 JavaScript 程式碼。Mootools 跟 prototypejs 相類似,語法幾乎一樣。但它提供的功能要比 prototypejs 多,而且更強大。比如增加了動畫特效、拖放操作等等。 
    優點:可以定製自己所需要的功能,可以說是 prototypejs 的增強版。
    缺點:不大不小,具體應用具體分析。

Moo.fx 
    Moo.fx是 一個超級輕量級的 javascript 特效庫(7k),能夠與 prototype.js 或mootools 框架一起使用。它非常快、易於使用、跨瀏覽器、符合標準,提供控制和修改任何 HTML 元素的 CSS 屬性,包括顏色。它內建檢查器能夠防止使用者通過多次或瘋狂點選來破壞效果。moo.fx整體採用模組化設計,所以可以在它的基礎上開發你需要的任何特效。 
    優點:小塊頭有大能耐
    缺點:這麼小了,已經不錯了