Dojo面向?qū)ο蟮?JavaScript 框架
Dojo是一個(gè)強(qiáng)大的面向?qū)ο驤avaScript框架。主要由三大模塊組成:Core、Dijit、DojoX。Core提供Ajax,events,packaging,CSS-based querying,animations,JSON等相關(guān)操作API。Dijit是一個(gè)可更換皮膚,基于模板的WEB UI控件庫。DojoX包括一些創(chuàng)新/新穎的代碼和控件:DateGrid,charts,離線應(yīng)用,跨瀏覽器矢量繪圖等。
選擇dojo的理由
1.dojo是一個(gè)很好的基礎(chǔ)架構(gòu)。
它可以非常有效地分離頁面中的Structure、Presentation、Behaviour,這對于實(shí)現(xiàn)Ajax組件unobtrusive的目標(biāo)非常有幫助。
有人問:那么,同樣是基礎(chǔ)架構(gòu),你為什么不選擇Prototype呢?
當(dāng)然,Prototype對于開發(fā)一些Ajax效果也是非常有幫助的。但是Prototype的設(shè)計(jì)目標(biāo)和dojo有很大的不同。
Prototype 的設(shè)計(jì)目標(biāo)是擴(kuò)充JavaScript的功能,使得可以以類似于Ruby的方式來編寫JavaScript。 Prototype主要是對于JavaScript語言本身的一些底層的擴(kuò)充,另外解決了一些跨瀏覽器的問題。但是Prototype還是太底層了,本身 提供的功能非常少,基于它來建造復(fù)雜的Ajax組件(例如,一個(gè)功能完善的Grid組件)仍然非常困難。
而Rico呢,仍然談不上是一個(gè)框架,Rico和Scriptaculous都只是基于Prototype建造的Ajax效果庫。 Rico的Live Grid太原始了,這也是我放棄Rico的一個(gè)原因,而且Rico這半年來就沒有什么大的發(fā)展。
我并不是要否定Prototype,而是經(jīng)過考察發(fā)現(xiàn)Prototype很難支持我的目標(biāo)。我的目標(biāo)就是建造一個(gè)全面的Ajax組件庫,dojo恰好對于支持這個(gè)目標(biāo)非常有幫助。
dojo其實(shí)是一個(gè)組件模型,類似于Spring,用來支持大規(guī)模的組件化開發(fā)。組件模型的作用就是增強(qiáng)代碼的重用,這對于提高開發(fā)效率是至關(guān)重要的。
2.dojo的背后有強(qiáng)大的支持。
dojo現(xiàn)在已經(jīng)是眾多開源框架的選擇,包括:
* WebWork
* Tapestry
* Eclipse ATF
* MyFaces
這個(gè)列表還會隨著時(shí)間的推移而擴(kuò)大。
dojo的開發(fā)團(tuán)隊(duì)由Alex Russell領(lǐng)軍,人數(shù)眾多,力量非常強(qiáng)大。
3.dojo的組件比較豐富,而且目前的開發(fā)非?;钴S。
這里是一些組件列表,也可以在這里提出新的組件需求。
http://dojo.jot.com/WidgetWishlist
有一個(gè)正在開發(fā)的Grid組件,按照功能描述來看非常強(qiáng)大,值得高度注意。
http://dojo.jot.com/GridWidget
這樣以來就可以減輕我們的大量沉重的工作。
