一、前言
自去年開(kāi)始,AJAX一下成了關(guān)注的技術(shù)熱點(diǎn),各種AJAX框架迅速的發(fā)展了起來(lái),其中又分為客戶(hù)端AJAX架構,
服務(wù)器端AJAX架構等,其中DojoToolkit做為一個(gè)優(yōu)秀的客戶(hù)端AJAX架構,被越來(lái)越多的人所關(guān)注,學(xué)習。
二、Dojo簡(jiǎn)介作為早期的開(kāi)源AJAX架構之一,Dojo開(kāi)始于2004年9月,網(wǎng)址是 http://dojotoolkit.org,由JotSpot的Alex Russell所領(lǐng)導。
Dojo是一個(gè)開(kāi)源的JavaScript工具包,本身預置了很多模塊,可以實(shí)現完整的輕量級窗口組件及很多功能。Dojo的包加載機制(Package System)可以實(shí)現動(dòng)態(tài)加載所需模塊,而且用戶(hù)可以編寫(xiě)自己的Dojo擴展模塊,有很好的靈活性。
三、技術(shù)特點(diǎn)1.文件結構Dojo目前最高版本號是0.3.1,它的文件主要由一個(gè)包含主要功能的核心代碼文件(Dojo.js)和眾多的Javascript文件組成。使用時(shí)可以根據包機制,動(dòng)態(tài)載入所需模塊。
根據核心代碼包含模塊的不同,又細分為以下多個(gè)版本:
·AJAX版本:可以創(chuàng )建帶有AJAX應用程序,集成復雜的可視效果,并使用事件模塊。
·Widget版本:包括與小器件實(shí)現松散耦合的 HTML 和CSS 模板能力,提供明確分離的樣式、內容和邏輯。
·Event and I/O版本:包括事件模塊及I/O模塊
·Event版本:包括事件模塊
·Kitchen Sink版本:該版本包括整個(gè)工具集合
以上版本分別適用于不同的場(chǎng)合。用戶(hù)也可以根據自己的需求重新構建自己的核心代碼文件,只包含自己常用的模塊,以避免頻繁動(dòng)態(tài)加載常用的模塊。
2.程序結構Dojo官方的定義中,將Dojo稱(chēng)之為T(mén)oolkit(工具包),不是Framework(只是Framework的一部分),也不是Library(在Library之上又加了一層封包系統)。Dojo包括了Javascript本身的語(yǔ)言擴展,以及各個(gè)方面的工具類(lèi)庫,和比較完善的UI組件庫。
如下圖:(原地址http://manual.dojotoolkit.org/WikiHome/DojoDotBook/Book16)
從圖中也可看出,Dojo的
設計結構非常合理,且擴展性非常強,能夠不斷增加新的功能,且保證程序高效的運行。
四、官方資源Dojo的官方網(wǎng)站有以下資源,可以幫助我們很快的熟悉Dojo的結構,當然,因為Dojo有豐富的功能,要完全掌握還需要在實(shí)際開(kāi)發(fā)中逐漸掌握。
1. Dojo手冊(The Dojo Manual)網(wǎng)址:http://manual.dojotoolkit.org/
系統地介紹Dojo的機制,使用方法,示例代碼等
2.Dojo郵件列表(The Dojo Mailing Lists)可以討論交流在使用Dojo中遇到的問(wèn)題,或希望改進(jìn)的建議
3.Dojo錯誤跟蹤系統(Bug Tracking)網(wǎng)址:http://trac.dojotoolkit.org/
可以提交有效地發(fā)現bug,提交bug,以便能夠及時(shí)地消除Dojo中的bug
4.代碼倉庫(The Dojo Subversion Repository)網(wǎng)址:http://trac.dojotoolkit.org/browser
可以很方便地獲得最新版本的Dojo程序包
5.The Dojo Wiki網(wǎng)址:http://dojo.jot.com/
Dojo Wiki的內容類(lèi)別相對比較豐富,涉及到Dojo的各個(gè)方面。
6.IRC聊天室地址:irc.freenode.net
7.Dojo程序包中附帶的Demo程序提供了8大類(lèi)近30個(gè)Demo程序,可以在實(shí)踐中更快地掌握Dojo的用法。
提示:推薦加入Dojo的郵件列表,并仔細研究示例代碼,這樣能更快地掌握Dojo的使用方法。
五、發(fā)展前景1.技術(shù)層面與其它AJAX框架相比,Dojo
設計的包加載機制(Package System)和模塊化(Libraries)的結構,能保持更好的擴展性,提高執行性能,減輕了用戶(hù)開(kāi)發(fā)的工作量,并保持一定的靈活性(用戶(hù)可以自己編寫(xiě)擴展)。
2.市場(chǎng)層面Dojo現在發(fā)展迅猛,得到廣泛的支持,并成立了Dojo 基金會(huì ) , IBM 、AOL 、SUN這些大公司和WebWork、Tapestry、Open Laszlo等開(kāi)源團隊都是dojo基金會(huì )的成員,雄厚的后盾保證了Dojo可以持續的發(fā)展下去。