最早也是最出名的要數prototype了,這款鼻祖級的JavaScript庫,如今已經配了新的搭檔,那就是Script.aculo.us,這是一款完全基於prototype的開發架構,提供了相當數量 的上層應用組件和函數,你可以這麼理解,假如把prototype比作MSIL,那麼 Script.aculo.us就是.NET語言。目前 prototype的最新版本是1.6,Script.aculo.us的最新版本是1.8,
詳細資料請見:http://script.aculo.us/
接 下來介紹的是JQuery,這個也算是JavaScript開發架構的新星了,雖然出來也有些時日了。JQuery與prototype比起來要更成熟一 些,並且支援更好地擴充性,目前有相當多的JavaScript開原始檔控制都是基於JQuery的,其強大的selector的功能堪稱一絕,對於 html的元素選擇就像css selector一樣。
詳細資料請見:http://jquery.com/。
另外jquery還把一些UI控制項整合為一套庫,叫做ui.jquery,大家可以去http://ui.jquery.com%c2%a0/看看demo(建議看的時候不要喝水、吃東西,會噴出來的)。
接下來要介紹dojo,這也是一套類似於prototype的庫,不過我沒有怎麼用過,功能方面似乎與prototype基本類同,還是屬於比較底層的庫。目前也有一些基於dojo的控制項和應用。想瞭解dojo的資訊,
請看http://dojotoolkit.org/
另 外的兩個比較有名的架構就是Yahoo UI和Google Web Toolkit了,這兩個相信大家都比較熟悉,特別是 Google Web Toolkit更是解決了如何用java代碼來寫javascript的問題,即通過編譯器和解析程式產生javascript, 這是一個很不錯的功能。
這一點,.NET仍然做的不足,我們仍然要通過大量的RegisterScriptBlock來解決問題動態javascript 產生問題,從開發體驗的角度講,這樣容易分散程式員的經曆,因為程式員不得不平凡地切換思考模式,一會兒是寫.NET代碼,一會兒是寫 Javascript代碼。不過呢,有人已經注意到了這個問題,並且開發了Script#,就是專門用來解決.NET下的JavaScript開發體驗問 題,個人用下來還是不錯的,大家可以去http://projects.nikhilk.net/Projects/ScriptSharp.aspx%C2%A0瞭解Script# (http://www.nikhilk.net/ScriptSharpIntro.aspx)。
還 有一款不得不介紹的JavaScript開發架構就是extjs,現已經cnblogs上有人在介紹這個庫的一些開發心得了。這款開發架構並不像 jquery和prototype那樣,嚴格意義上講jquery和prototype只能算開發庫,而extjs則是真正的開發架構,它不僅僅解決了底 層的瀏覽器安全色問題、通用的一些開發功能,也為開發人員提供了大量的內建控制項陳列庫,例如,用於布局的BorderLayout、Viewport,用於產生表 單的FormPanel等等,請注意,這些控制項都是內建的,而非基於extjs開發,這個差別直接導致了整個開發架構的完整性有很大程度的提高,對於開發 人員來說,與其把很多來自第三方基於一套庫開發的控制項放到一個項目中來,倒不如直接用內建的控制項來得方便,而且整合度更高,代碼可靠性也高。extjs 還有一點值得稱道,那就是它為其他javascript開發庫提供了相容適配器,主要為jquery,prototype+ Script.aculo.us和Yahoo UI提供了適配器,這是其他開發庫所沒有涉及的,這直接說明extjs的開發人員們很有遠見,融百家之眾 長,把其他庫好的地方直接引入為我所用。有關 extjs的詳細資料你可以訪問http://extjs.com/。
另 外,微軟的ASP.NET AJAX以及Silverlight中也引入了相應的JavaScript庫,雖然以我個人的角度看,這些庫還無法與第三方開 源庫相抗衡,但對於微軟自己的產品來說是足夠了,當然這是一個訊號,預示著在微軟未來的開發庫中,JavaScript將佔據相當比重,特別是當 Silverlight後續版本發布的時候。這裡要澄清一點,在過去幾個月中,曾經看到過一些文章中說微軟的Silverlight與 ASP.NET AJAX的定位有重合,所以有人認為ASP.NET AJAX是沒有意義的,是微軟的決策失誤,但從我個人的角度看,就目前的 Silverlight 1.0(1.1目前沒有release,不納入討論範疇)而言,它與ASP.NET AJAX並不衝突,Silverlight 是針對高端RIA應用的,而ASP.NET AJAX則更多地瞄準低端RIA,至於最後會不會把這兩個產品整合,我目前不敢斷言,但從技術發展的趨勢看, 微軟在未來2-3年內很有可能會推出RIA Foundation(個人猜測,不代表微軟官方觀點)。從技術角度看,Silverlight選擇 JavaScript作為指令碼引擎自然有它的道理,一方面是因為減少重複開發,沒有必要像Adobe的Flash那樣再做一個ActionScript, 勞命傷財~~另一方面是因為它能很好地與現有的 AJAX及低端JavaScript應用整合,這是一個很明智的選擇,如果你要把應用程式移植到 Flash上,還是有相當的ActionScript要重寫(雖然Flash也支援JavaScript互動),但是如果移植到Silverlight上 完全不需要這麼麻煩,Silverlight能與以前的程式形成互補,這就是差別。
FROM: http://hi.baidu.com/sj_lj/blog/item/20b905248de33330c8955936.html
補充:
MooTools
MooTools是一個簡潔,模組化,物件導向的JavaScript架構。它能夠協助你更快,更簡單地編寫可擴充和相容性強的JavaScript代碼。Mootools跟prototypejs相類似,文法幾乎一樣。但它提供的功能要比prototypejs多,而且更強大。比如增加了動畫特效、拖放操作等等。
MooTools is a compact, modular, Object-Oriented JavaScript framework designed for the intermediate to advanced JavaScript developer. It allows you to write powerful, flexible, and cross-browser code with its elegant, well documented, and coherent API.
官方英文: http://mootools.net/
中文網: http://www.mootool.net/
圖書:
征服Ajax:Dojo、Prototype、script.aculo.us架構解析與執行個體(附光碟片)
運用已有的成熟架構進行項目開發,不但能提高代碼的穩定性和相容性,更能大大縮短項目的開發時間。本書詳細講解3個著名的Ajax開發架構——Dojo、Prototype和script.aculo.us。在介紹架構的原理和使用方法的基礎上,提供了典型的應用案例。
全書分為8章,第1章介紹Ajax技術的基本概念及技術基礎;第2、3章分別介紹Prototype架構和script.aculo.us架構;第4、5章配合使用Prototype和script.aculo.us架構實現了兩個Ajax應用執行個體--網路書籤和個人化首頁;第6章對Dojo開發套件的原理和使用方法進行了詳細介紹;第7章介紹關於Dojo的進階話題;第8章使用Dojo開發套件實現了一個具有準系統的電子郵件系統。通過對本書的學習,讀者不但能瞭解和掌握Dojo、Prototype 和script.aculo.us開發架構,而且能以書中所提供的執行個體為原型,快速運用成熟架構開發類似應用系統。
jQuery基礎教程
本書以通俗易懂的方式介紹了jQuery的基本概念,主要包括jQuery的選擇符、事件、特效、DOM操作、AJAX、表格操作、表單函數、拖曳與旋轉和外掛程式等內容,最後幾章以執行個體操作為主,在前面內容的基礎上,提出了常見的用戶端實際問題並給出了其解決方案。
本書是一本注重理論與實踐結合的基礎教程,適合Web開發人員閱讀和參考。
prototype
prototype中文使用手冊:http://www.ruby-china.cn/prototype/ (PROTOTYPE 1.5.1 RC1)