目前來(lái)看,JS框架以及一些開(kāi)發(fā)包和庫(kù)類有如下幾個(gè),Dojo 、Scriptaculous 、Prototype 、yui-ext 、Jquery 、Mochikit、mootools 、moo.fx
Dojo (JS library and UI component ):
Dojo是目前最為強(qiáng)大的j s框架,它在自己的Wiki上給自己下了一個(gè)定義,dojo是一個(gè)用JavaScript編寫的開(kāi)源的DHTML工具箱。dojo很想做一個(gè)“大一統(tǒng)”的工具箱,不僅僅是瀏覽器層面的,野心還是很大的。Dojo包括ajax, browser, event, widget等跨瀏覽器API,包括了JS本身的語(yǔ)言擴(kuò)展,以及各個(gè)方面的工具類庫(kù),和比較完善的UI組件庫(kù),也被廣泛應(yīng)用在很多項(xiàng)目中,他的UI組件的特點(diǎn)是通過(guò)給html標(biāo)簽增加tag的方式進(jìn)行擴(kuò)展,而不是通過(guò)寫JS來(lái)生成,dojo的API模仿Java類庫(kù)的組織方式。 用dojo寫Web OS可謂非常方便。dojo現(xiàn)在已經(jīng)4.0了,dojo強(qiáng)大的地方在于界面和特效的封裝,可以讓開(kāi)發(fā)者快速構(gòu)建一些兼容標(biāo)準(zhǔn)的界面。
優(yōu)點(diǎn):庫(kù)相當(dāng)完善,發(fā)展時(shí)間也比較長(zhǎng),功能強(qiáng)大,據(jù)說(shuō)利用dojo的io.bind()可以實(shí)現(xiàn)comet,看見(jiàn)其功能強(qiáng)大非一般,得到IBM和SUN的支持
缺點(diǎn):文件體積比較大,200多KB,初次下載相當(dāng)慢,此外,dojo的類庫(kù)使用顯得不是那么易用,j s語(yǔ)法增強(qiáng)方面不如prototype。
Prototype (JS OO library):
是一個(gè)非常優(yōu)雅的JS庫(kù),定義了JS的面向?qū)ο髷U(kuò)展,DOM操作API,事件等等,以prototype為核心,形成了一個(gè)外圍的各種各樣的JS擴(kuò)展庫(kù),是相當(dāng)有前途的JS底層框架,值得推薦,感覺(jué)也是現(xiàn)實(shí)中應(yīng)用最廣的庫(kù)類(RoR集成的AJAX JS庫(kù)),之上還有 Scriptaculous 實(shí)現(xiàn)一些JS組件功能和效果。
優(yōu)點(diǎn):基本底層,易學(xué)易用,甚至是其他一些js特效開(kāi)發(fā)包的底層,體積算是最小的了。
缺點(diǎn):如果說(shuō)缺點(diǎn),可能就是功能是他的弱項(xiàng)
Scriptaculous (JS UI component based on prototype):
Scriptaculous是基于prototype.js框架的JS效果。包含了6個(gè)js文件,不同的文件對(duì)應(yīng)不同的js效果,所以說(shuō),如果底層用 prototype的話,做js效果用Scriptaculous那是再合適不過(guò)的了,連大名鼎鼎的digg都在用他,可見(jiàn)不一般
優(yōu)點(diǎn):基于prototype是最大的優(yōu)點(diǎn),由于使用prototype的廣泛性,無(wú)疑對(duì)用戶書錦上添花,并且在《ajax in action》中就拿Scriptaculous來(lái)講述js效果
缺點(diǎn):剛剛興起,需要時(shí)間的磨練
yui-ext (JS UI component):
基于Yahoo UI的擴(kuò)展包yui-ext是具有CS風(fēng)格的Web用戶界面組件能實(shí)現(xiàn)復(fù)雜的Layout布局,界面效果可以和backbase媲美,而且使用純javascript代碼開(kāi)發(fā)。真正的可編輯的表格Edit Grid,支持XML和Json數(shù)據(jù)類型,直接可以遷入grid。許多組件實(shí)現(xiàn)了對(duì)數(shù)據(jù)源的支持,例如動(dòng)態(tài)的布局,可編輯的表格控件,動(dòng)態(tài)加載的Tree 控件、動(dòng)態(tài)拖拽效果等等。1.0 beta版開(kāi)始同Jquery合作,推出基于jQuery的Ext 1.0,提供了更多有趣的功能。
優(yōu)點(diǎn):結(jié)構(gòu)化,類似于java的結(jié)構(gòu),清晰明了,底層用到了Jquery的一些函數(shù),使整合使用有了選擇,最重要的一點(diǎn)是界面太讓讓人震撼了。
缺點(diǎn):太過(guò)復(fù)雜,整個(gè)界面的構(gòu)造過(guò)于復(fù)雜。
Jquery :
jQuery是一款同prototype一樣優(yōu)秀js開(kāi)發(fā)庫(kù)類,特別是對(duì)css和XPath的支持,使我們寫js變得更加方便!如果你不是個(gè)js高手又想寫出優(yōu)秀的js效果,jQuery可以幫你達(dá)到目的!并且簡(jiǎn)介的語(yǔ)法和高的效率一直是jQuery追求的目標(biāo),
優(yōu)點(diǎn):注重簡(jiǎn)介和高效,js效果有yui-ext的選擇,因?yàn)閥ui-ext 重用了很多jQuery的函數(shù)
缺點(diǎn):據(jù)說(shuō)太嫩,歷史不悠久。
Mochikit :
MochiKit自稱為一個(gè)輕量級(jí)的js框架。MochiKit 主要受到 Python 和 Python 標(biāo)準(zhǔn)庫(kù)提供的很多便利之處的啟發(fā),另外還緩解了瀏覽器版本之間的不一致性。其中的 MochiKit.DOM 尤其方便,能夠以比原始 JavaScript 更友好的方式處理 DOM 對(duì)象。MochiKit.DOM 大部分都是針對(duì) XHTML 文檔定制的,如果與 MochiKit 和 Ajax 結(jié)合在一起,使用 XHTML 包裝的微格式尤其方便。Mochikit可以直接對(duì)字符串或者數(shù)字格式化輸出,比較實(shí)用和方便。它還有自己的 js 代碼解釋器
優(yōu)點(diǎn):MochiKit.DOM這部分很實(shí)用,簡(jiǎn)介也是很突出的
缺點(diǎn):輕量級(jí)的缺點(diǎn)
mootools :
MooTools是一個(gè)簡(jiǎn)潔,模塊化,面向?qū)ο蟮腏avaScript框架。它能夠幫助你更快,更簡(jiǎn)單地編寫可擴(kuò)展和兼容性強(qiáng)的 JavaScript代碼。Mootools跟prototypejs相類似,語(yǔ)法幾乎一樣。但它提供的功能要比prototypejs多,而且更強(qiáng)大。比如增加了動(dòng)畫特效、拖放操作等等。
優(yōu)點(diǎn):可以定制自己所需要的功能,可以說(shuō)是prototypejs的增強(qiáng)版。
缺點(diǎn):不大不小,具體應(yīng)用具體分析
moo.fx :
moo.fx是一個(gè)超級(jí)輕量級(jí)的javascript特效庫(kù)(7k),能夠與prototype.js或mootools框架一起使用。它非???、易于使用、跨瀏覽器、符合標(biāo)準(zhǔn),提供控制和修改任何HTML元素的CSS屬性,包括顏色。它內(nèi)置檢查器能夠防止用戶通過(guò)多次或瘋狂點(diǎn)擊來(lái)破壞效果。 moo.fx整體采用模塊化設(shè)計(jì),所以可以在它的基礎(chǔ)上開(kāi)發(fā)你需要的任何特效。
優(yōu)點(diǎn):小塊頭有大能耐
缺點(diǎn):這么小了,已經(jīng)不錯(cuò)了