為了簡化JavaScript的開發,一些JavaScript程序庫誕生了。JavaScript程序庫封裝了很多預定義的對象和使用函數,能幫助使用者輕松地建立有高難度交互的Web2.0特性的富客戶端頁面,並且兼容各大浏覽器。下面是目前集中流行的JavaScript程序庫的介紹和對比。
Prototype Prototype是最早成型的JavaScript庫之一,對JavaScript的內置對象(例如String對象、Array對象等)做了大量的擴展。現在還有很多項目使用Prototype。Prototype可以看做是把很多好的,對JavaScript的內置對象(例如String對象、Array對象等)做了大量的擴展。現在還有很多項目使用Prototype。Prototype可以看做是把很多好的、有用的JavaScript的方法組合在一起而形成的JavaScript庫、使用者可以再需要的時候隨時將其中的幾段代碼抽出來放進自己的腳本裡。但是由於Prototype成型年代較早,從整體上對面向對象的編程思想把握得不是很到位,導致了其結構的松散。不過現在Prototype也在慢慢改進。
Dojo Dojo的強大之處在於Dojo提供了很多其他JavaScript庫所沒有提供的功能。例如離線存儲的API、生成圖標的組件、基於SVG/VML的矢量圖形庫和Comet支持等。Dojo是一款非常適合企業級應用的JavaScript庫、並且得到了IBM、SUN和BEA等一些大公司的支持。但是Dojo的缺點也是很明顯的:學習曲線陡,文檔不齊全,最嚴重的就是API不穩定,每次升級都可能導致已有的程序失效,但是自從Dojo的1.0.0版本出現以後,情況有所好轉,Dojo還是一個很有發展潛力的庫。
YUI YUI是由Yahoo公司開發的一套完備的、擴展性良好的富交互網頁程序工具集。YUI封裝了一系列比較豐富的功能,例如DOM操作和Ajax應用等,同時還包括一個核心的CSS文件。該庫本身文檔及其完備,代碼編寫得也非常規范。
Ext JS Ext JS簡稱為Ext,原本是對YUI的一個擴展,主要用於創建前端用戶界面,如今已經發展到可以利用包括jQuery在內的多種JavaScript框架作為基礎庫,而Ext作為界面的擴展庫來使用。Ext可以用來開發富有華麗外觀的富客戶端應用,能使B/S應用更加具有活力。但是由於Ext側重於界面,本身比較臃腫,所用使用之前請想權衡利弊。另外,需要注意的是,Ext並非完全免費,如果用於商業用途,需要付費獲得授權許可。
MooTools MooTools是一套輕量、簡潔、模塊化和面向對象的JavaScript框架。MooTools的語法幾乎跟Prototype一樣,但是卻提供了更為強大的功能、更好的擴展性和兼容性。其模塊化思想非常優秀,核心代碼只有8KB。無論用到哪個模塊都可即時導入,即使是完整版大小也不超過160KB。MooTools完全徹底的貫徹了面向對象的編程思想,語法簡潔直觀,文檔完善,是一個非常不錯的JavaScript庫。