有朋友對于我為什么會選擇dojo很感興趣,我就在這里介紹一下我選擇它的理由,以便對于其他網友也能有所幫助。
一、我選擇dojo主要是出于以下幾個理由:1.dojo是一個很好的基礎架構。它可以非常有效地分離頁面中的Structure、Presentation、Behaviour,這對于實現Ajax組件unobtrusive的目標非常有幫助。
有人問:那么,同樣是基礎架構,你為什么不選擇Prototype呢?
當然,Prototype對于開發(fā)一些Ajax效果也是非常有幫助的。但是Prototype的設計目標和dojo有很大的不同。
Prototype 的設計目標是擴充JavaScript的功能,使得可以以類似于Ruby的方式來編寫JavaScript。 Prototype主要是對于JavaScript語言本身的一些底層的擴充,另外解決了一些跨瀏覽器的問題。但是Prototype還是太底層了,本身 提供的功能非常少,基于它來建造復雜的Ajax組件(例如,一個功能完善的Grid組件)仍然非常困難。
而Rico呢,仍然談不上是一個框架,Rico和Scriptaculous都只是基于Prototype建造的Ajax效果庫。 Rico的Live Grid太原始了,這也是我放棄Rico的一個原因,而且Rico這半年來就沒有什么大的發(fā)展。
我并不是要否定Prototype,而是經過考察發(fā)現Prototype很難支持我的目標。我的目標就是建造一個全面的Ajax組件庫,dojo恰好對于支持這個目標非常有幫助。
dojo其實是一個組件模型,類似于Spring,用來支持大規(guī)模的組件化開發(fā)。組件模型的作用就是增強代碼的重用,這對于提高開發(fā)效率是至關重要的。
2.dojo的背后有強大的支持。dojo現在已經是眾多開源框架的選擇,包括:
* WebWork
* Tapestry
* Eclipse ATF
* MyFaces
這個列表還會隨著時間的推移而擴大。
dojo的開發(fā)團隊由Alex Russell領軍,人數眾多,力量非常強大。
3.dojo的組件比較豐富,而且目前的開發(fā)非常活躍。這里是一些組件列表,也可以在這里提出新的組件需求。
http://dojo.jot.com/WidgetWishlist有一個正在開發(fā)的Grid組件,按照功能描述來看非常強大,值得高度注意。
http://dojo.jot.com/GridWidget這樣以來就可以減輕我的大量沉重的工作。
二、參加討論:matrix論壇Ajaxcn