Jquery是繼prototype之後又一個優秀的Javascrīpt架構。它是輕量級的js庫(壓縮後只有21k) ,它相容CSS3,還相容各種瀏覽器 (IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+)。jQuery使使用者能更方便地處理HTML documents、events、實現動畫效果,並且方便地為網站提供AJAX互動。jQuery還有一個比較大的優勢是,它的文檔說明很全,而且各種 應用也說得很詳細,同時還有許多成熟的外掛程式可供選擇。jQuery能夠使使用者的html頁保持代碼和html內容分離,也就是說,不用再在html裡面插入一堆js來調用命令了,只需定義id即可。
jQuery由美國人John Resig建立,至今已吸引了來自世界各地的眾多javascript高手加入其team,包括來自德國的Jörn Zaefferer,羅馬尼亞的Stefan Petre等等。jQuery是繼prototype之後又一個優秀的Javascrīpt架構。其宗旨是——WRITE LESS,DO MORE,寫更少的代碼,做更多的事情。
Dojo是一個強大的物件導向JavaScript架構。主要由三大模組組成:Core、Dijit、DojoX。Core提供Ajax,events,packaging,CSS-based querying,animations,JSON等相關操作API。Dijit是一個可更換皮膚,基於模板的WEB UI控制項陳列庫。DojoX包括一些創新/新穎的代碼和控制項:DateGrid,charts,離線應用,跨瀏覽器向量繪圖等。
Dojo線上示範
選擇dojo的理由
1.dojo是一個很好的基礎架構。
它可以非常有效地分離頁面中的Structure、Presentation、Behaviour,這對於實現Ajax組件unobtrusive的目標非常有協助。
有人問:那麼,同樣是基礎架構,你為什麼不選擇Prototype呢?
當然,Prototype對於開發一些Ajax效果也是非常有協助的。但是Prototype的設計目標和dojo有很大的不同。
Prototype 的設計目標是擴充JavaScript的功能,使得可以以類似於Ruby的方式來編寫JavaScript。 Prototype主要是對於JavaScript語言本身的一些底層的擴充,另外解決了一些跨瀏覽器的問題。但是Prototype還是太底層了,本身 提供的功能非常少,基於它來建造複雜的Ajax組件(例如,一個功能完善的Grid組件)仍然非常困難。
而Rico呢,仍然談不上是一個架構,Rico和Scriptaculous都只是基於Prototype建造的Ajax效果庫。 Rico的Live Grid太原始了,這也是我放棄Rico的一個原因,而且Rico這半年來就沒有什麼大的發展。
我並不是要否定Prototype,而是經過考察發現Prototype很難支援我的目標。我的目標就是建造一個全面的Ajax組件庫,dojo恰好對於支援這個目標非常有協助。
dojo其實是一個組件模型,類似於Spring,用來支援大規模的組件化開發。組件模型的作用就是增強代碼的重用,這對於提高開發效率是至關重要的。
2.dojo的背後有強大的支援。
dojo現在已經是眾多開源架構的選擇,包括:
* WebWork
* Tapestry
* Eclipse ATF
* MyFaces
這個列表還會隨著時間的推移而擴大。
dojo的Team Dev由Alex Russell領軍,人數眾多,力量非常強大。
3.dojo的組件比較豐富,而且目前的開發非常活躍。
這裡是一些組件列表,也可以在這裡提出新的組件需求。
http://dojo.jot.com/WidgetWishlist
有一個正在開發的Grid組件,按照功能描述來看非常強大,值得高度注意。
http://dojo.jot.com/GridWidget
這樣以來就可以減輕我們的大量沉重的工作。
3.web UI開發架構sencha
Sencha 是由 ExtJS、jQTouch 以及 Raphael 三個項目合并而成的一個新項目。
Prototype.js 是一個由Sam Stephenson寫的JavaScript包。這個構思奇妙編寫良好的一段相容標準的一段代碼將承擔創造胖用戶端, 高互動性WEB應用程式的重擔。輕鬆加入Web 2.0特性。
Prototype 1.6.0 PDF 文檔:http://globalmoxie.com/bm~doc/prototype-160-api.pdf
UIZE免費使用、支援行動裝置、可CSS更換皮膚。Java (Apache TomCat), C# (IIS / ASP.NET), Visual Basic (IIS / ASP), C/C++, Perl (Perl / Apache), PHP, Ruby (Ruby on Rails), Python, 等等,無論伺服器端何種語言,均可使用。具有大量的內建小工具,類似jQuery外掛程式。