文章目錄
- 概況
- jQuery ExtJS Dojo MS Ajax比較
- 使用方式調查
- 選擇因素
由於架構很多,僅以筆者實際工作中接觸的幾個常用架構進行總結。
概況
Javascript已經成為了web開發最最基本的要求之一了。 而在現實的敏捷開發中,我們通常會選擇一個JS架構來取代繁瑣的Native Javascript的編寫。你會發現這樣會節省很多的時間,寫的代碼也很清晰便捷。目前流行的JS架構很多Dojo 、Scriptaculous 、Prototype 、yui-ext 、Jquery 、Mochikit、mootools 、moo.fx 等等。我們要根據我們項目的真實需要來選擇具有相關特性的架構。
jQuery ExtJS Dojo MS Ajax比較
|
jQuery |
ExtJS |
Dojo |
Asp.net AJAX |
官方網站 |
http://jquery.com/ |
http://extjs.com/ |
http://dojotoolkit.org/ |
http://www.asp.net/ajaxlibrary/AjaxOverview.ashx http://aspnet.codeplex.com/releases/view/34488 |
優點 |
- 文法很簡潔,而且抽象了動作和特效這樣的概念,從而把組件自身和對它支援那些操作、特效之類的分離
- 體積小簡單
- 對DOM選擇強大, 幾乎所有操作都是以選擇DOM元素(有強大的Selector)開始,然後是對其的操作(Chaining等特性)
- UI擴充好
- 特別在VS2010預設引入了這個架構,估計發展更快
|
- API文檔特別好
- 強大的UI,而且效能不錯
- 所有的組件(widgets)都可直接使用,而無需進行設定
|
- 功能最強大,幾乎包含了所有你可能想要用到的東西
- 以組件全面而出名,不只是UI組件很全,其他非UI組件也很全(比如map之類的)
- Dojo.require來管理依賴非常有創意
- 大的UI(Dijit)
|
- 支援Asp.net的服務端控制項和用戶端JS庫
- 資料繫結技術和Asp.net很相似
- 後續估計和jQuery會有更好的整合
|
缺點 |
- 可選擇太多有時也是個問題,如表格就有很多的外掛程式
|
體積比較大,為重量級的架構EXT授權協議涉及付費 |
學習曲線太陡文檔的不是很全API不穩定,各版本間改動較大Widget的速度慢 |
版本變動較大 |
使用方式調查
http://ajaxian.com/by/topic/survey 這個網站可以看到各種架構的使用方式
這個網站包括了IDE,庫和瀏覽器使用等方面的調查,也可以作為我們選擇的一個參考
選擇因素
實際使用選擇哪個架構的考慮因素如下:
你的項目需求(即你需要哪些特性,例如是否要求做出精美的介面、特效或其它功能)
是否支援A等級的瀏覽器(IE, Firefox等)?
文檔的品質:是否完善(包含教程,API,程式碼範例等)
架構的可擴充性如何?為架構寫外掛程式容易嗎?
你是否喜歡它的API的風格?
能大多程度上統一你的JavaScript代碼的風格?
架構大小(太大的架構導致使用者下載時間的延長)
架構是否強迫你改變寫HTML的方式(Dojo就是這樣)?
代碼執行速度:效能如何?
代碼是否為模組化(Mootools為高度模組化)?代碼可重用性如何?
開發工具支援
使用JAVA的可以使用http://www.aptana.com/download_all.php 下的工具,基於Eclipse實現的。提供單獨的安裝檔案,也提供Eclipse的plugins。
Visual Studio:
對JavaScript的支援一直比較弱,不過通過各種擴充可以使用增強功能,如下是一些常用的擴充:
Javascript parser:JavaScript的大綱顯示
http://visualstudiogallery.msdn.microsoft.com/en-us/288a2b0f-1357-47b4-8215-1134c36bdf30
JSEnhancements:JavaScript程式碼摺疊功能
http://visualstudiogallery.msdn.microsoft.com/en-us/0696ad60-1c68-4b2a-9646-4b5f4f8f2e06
其他的各種擴充:
http://visualstudiogallery.msdn.microsoft.com/en-us