作者:hopesoft
出處:http://www.51ajax.com
一、前言
自去年開始,AJAX一下成了關注的技術熱點,各種AJAX架構迅速的發展了起來,其中又分為用戶端AJAX架構,伺服器端AJAX架構等,其中DojoToolkit做為一個優秀的用戶端AJAX架構,被越來越多的人所關注,學習。自去年開始,AJAX一下成了關注的技術熱點,各種AJAX架構迅速的發展了起來,其中又分為用戶端AJAX架構,伺服器端AJAX架構等,其中DojoToolkit做為一個優秀的用戶端AJAX架構,被越來越多的人所關注,學習。
二、Dojo簡介
作為早期的開源AJAX架構之一,Dojo開始於2004年9月,網址是 http://www.dojotoolkit.org,由JotSpot的Alex Russell所領導。
Dojo是一個開源的JavaScript工具包,本身預置了很多模組,可以實現完整的輕量級視窗組件及很多功能。Dojo的包載入機制(Package System)可以實現動態載入所需模組,而且使用者可以編寫自己的Dojo擴充模組,有很好的靈活性。
三、技術特點
1.檔案結構
Dojo目前最高版本號碼是0.3.1,它的檔案主要由一個包含主要功能的核心代碼檔案(Dojo.js)和眾多的Javascript檔案組成。使用時可以根據包機制,動態載入所需模組。
根據核心程式碼封裝含模組的不同,又細分為以下多個版本:
·AJAX版本:可以建立帶有AJAX應用程式,整合複雜的可視效果,並使用事件模組。
·Widget版本:包括與小器件實現鬆散耦合的 HTML 和CSS 模板能力,提供明確分離的樣式、內容和邏輯。
·Event and I/O版本:包括事件模組及I/O模組
·Event版本:包括事件模組
·Kitchen Sink版本:該版本包括整個工具集合
以上版本分別適用於不同的場合。使用者也可以根據自己的需求重新構建自己的核心代碼檔案,只包含自己常用的模組,以避免頻繁動態載入常用的模組。
2.程式結構
Dojo官方的定義中,將Dojo稱之為Toolkit(工具包),不是Framework(只是Framework的一部分),也不是Library(在Library之上又加了一層封包系統)。Dojo包括了Javascript本身的語言擴充,以及各個方面的工具類庫,和比較完善的UI組件庫。
如下圖:(原地址http://manual.dojotoolkit.org/WikiHome/DojoDotBook/Book16)
從圖中也可看出,Dojo的設計結構非常合理,且擴充性非常強,能夠不斷增加新的功能,且保證程式高效的運行。
四、官方資源
Dojo的官方網站有以下資源,可以協助我們很快的熟悉Dojo的結構,當然,因為Dojo有豐富的功能,要完全掌握還需要在實際開發中逐漸掌握。
1. Dojo手冊(The Dojo Manual)
網址:http://manual.dojotoolkit.org/
系統地介紹Dojo的機制,使用方法,範例程式碼等
2.Dojo郵件清單(The Dojo Mailing Lists)
可以討論交流在使用Dojo中遇到的問題,或希望改進的建議
申請加入地址:http://dojotoolkit.org/mailman/listinfo/dojo-interest
查看存檔:http://news.gmane.org/gmane.comp.web.dojo.user
3.Dojo錯誤跟蹤系統(Bug Tracking)
網址:http://trac.dojotoolkit.org/
可以提交有效地發現bug,提交bug,以便能夠及時地消除Dojo中的bug
4.代碼倉庫(The Dojo Subversion Repository)
網址:http://trac.dojotoolkit.org/browser
可以很方便地獲得最新版本的Dojo程式包
5.The Dojo Wiki
網址:http://dojo.jot.com/
Dojo Wiki的內容類別相對比較豐富,涉及到Dojo的各個方面。
6.IRC
聊天室地址:irc.freenode.net
7.Dojo程式包中附帶的Demo程式
提供了8大類近30個Demo程式,可以在實踐中更快地掌握Dojo的用法。
提示:推薦加入Dojo的郵件清單,並仔細研究範例程式碼,這樣能更快地掌握Dojo的使用方法。
五、發展前景
1.技術層面
與其它AJAX架構相比,Dojo設計的包載入機制(Package System)和模組化(Libraries)的結構,能保持更好的擴充性,提高執行效能,減輕了使用者開發的工作量,並保持一定的靈活性(使用者可以自己編寫擴充)。
2.市場層面
Dojo現在發展迅猛,得到廣泛的支援,並成立了Dojo 基金會 , IBM 、AOL 、SUN這些大公司和WebWork、Tapestry、Open Laszlo等開源團隊都是dojo基金會的成員,雄厚的後盾保證了Dojo可以持續的發展下去。
3.Team Dev
在Alex Russell的領導下,Dojo的Team Dev有著強大的開發能力,從目前版本提供的功能、品質及更新的速度我們就可以看出來了。另外近期Dojo將會發布0.4.0。
4.使用者群體
由於Dojo出色的設計,越來越多的AJAX專家及新手加入到了Dojo的開發人員中,這些開發人員也會相應地動Dojo的發展。
5.學習資源
Dojo官方網站有著豐富的學習資源(見“官方資源”一節),可以協助人們更快地掌握Dojo,減少學習成本。
六、結語
Dojo可以協助開發人員開發大型的AJAX項目,並有助於構建健壯的代碼,節省開發時間。Dojo背後強大的支援後盾也可以保證持續不斷的補充新功能,有助於我們脫離低層重複的工作,專註於在此基礎上進行開發。