一、前言
自去年開始,AJAX一下成了關(guān)注的技術(shù)熱點(diǎn),各種AJAX框架迅速的發(fā)展了起來,其中又分為客戶端AJAX架構(gòu),服務(wù)器端AJAX架構(gòu)等,其中DojoToolkit做為一個(gè)優(yōu)秀的客戶端AJAX架構(gòu),被越來越多的人所關(guān)注,學(xué)習(xí)。自去年開始,AJAX一下成了關(guān)注的技術(shù)熱點(diǎn),各種AJAX框架迅速的發(fā)展了起來,其中又分為客戶端AJAX架構(gòu),服務(wù)器端AJAX架構(gòu)等,其中DojoToolkit做為一個(gè)優(yōu)秀的客戶端AJAX架構(gòu),被越來越多的人所關(guān)注,學(xué)習(xí)。
二、Dojo簡介
作為早期的開源AJAX架構(gòu)之一,Dojo開始于2004年9月,網(wǎng)址是 http://www.dojotoolkit.org,由JotSpot的Alex Russell所領(lǐng)導(dǎo)。
Dojo是一個(gè)開源的JavaScript工具包,本身預(yù)置了很多模塊,可以實(shí)現(xiàn)完整的輕量級窗口組件及很多功能。Dojo的包加載機(jī)制(Package System)可以實(shí)現(xiàn)動(dòng)態(tài)加載所需模塊,而且用戶可以編寫自己的Dojo擴(kuò)展模塊,有很好的靈活性。
三、技術(shù)特點(diǎn)
1.文件結(jié)構(gòu)
Dojo目前最高版本號是0.3.1,它的文件主要由一個(gè)包含主要功能的核心代碼文件(Dojo.js)和眾多的Javascript文件組成。使用時(shí)可以根據(jù)包機(jī)制,動(dòng)態(tài)載入所需模塊。
根據(jù)核心代碼包含模塊的不同,又細(xì)分為以下多個(gè)版本:
·AJAX版本:可以創(chuàng)建帶有AJAX應(yīng)用程序,集成復(fù)雜的可視效果,并使用事件模塊。
·Widget版本:包括與小器件實(shí)現(xiàn)松散耦合的 HTML 和CSS 模板能力,提供明確分離的樣式、內(nèi)容和邏輯。
·Event and I/O版本:包括事件模塊及I/O模塊
·Event版本:包括事件模塊
·Kitchen Sink版本:該版本包括整個(gè)工具集合
以上版本分別適用于不同的場合。用戶也可以根據(jù)自己的需求重新構(gòu)建自己的核心代碼文件,只包含自己常用的模塊,以避免頻繁動(dòng)態(tài)加載常用的模塊。
2.程序結(jié)構(gòu)
Dojo官方的定義中,將Dojo稱之為Toolkit(工具包),不是Framework(只是Framework的一部分),也不是Library(在Library之上又加了一層封包系統(tǒng))。Dojo包括了Javascript本身的語言擴(kuò)展,以及各個(gè)方面的工具類庫,和比較完善的UI組件庫。
如下圖:(原地址http://manual.dojotoolkit.org/WikiHome/DojoDotBook/Book16)
從圖中也可看出,Dojo的設(shè)計(jì)結(jié)構(gòu)非常合理,且擴(kuò)展性非常強(qiáng),能夠不斷增加新的功能,且保證程序高效的運(yùn)行。
四、官方資源
Dojo的官方網(wǎng)站有以下資源,可以幫助我們很快的熟悉Dojo的結(jié)構(gòu),當(dāng)然,因?yàn)镈ojo有豐富的功能,要完全掌握還需要在實(shí)際開發(fā)中逐漸掌握。
1. Dojo手冊(The Dojo Manual)
網(wǎng)址:http://manual.dojotoolkit.org/
系統(tǒng)地介紹Dojo的機(jī)制,使用方法,示例代碼等
2.Dojo郵件列表(The Dojo Mailing Lists)
可以討論交流在使用Dojo中遇到的問題,或希望改進(jìn)的建議
申請加入地址:http://dojotoolkit.org/mailman/listinfo/dojo-interest
查看存檔:http://news.gmane.org/gmane.comp.web.dojo.user
3.Dojo錯(cuò)誤跟蹤系統(tǒng)(Bug Tracking)
網(wǎng)址:http://trac.dojotoolkit.org/
可以提交有效地發(fā)現(xiàn)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的內(nèi)容類別相對比較豐富,涉及到Dojo的各個(gè)方面。
6.IRC
聊天室地址:irc.freenode.net
7.Dojo程序包中附帶的Demo程序
提供了8大類近30個(gè)Demo程序,可以在實(shí)踐中更快地掌握Dojo的用法。
提示:推薦加入Dojo的郵件列表,并仔細(xì)研究示例代碼,這樣能更快地掌握Dojo的使用方法。
五、發(fā)展前景
1.技術(shù)層面
與其它AJAX框架相比,Dojo設(shè)計(jì)的包加載機(jī)制(Package System)和模塊化(Libraries)的結(jié)構(gòu),能保持更好的擴(kuò)展性,提高執(zhí)行性能,減輕了用戶開發(fā)的工作量,并保持一定的靈活性(用戶可以自己編寫擴(kuò)展)。
2.市場層面
Dojo現(xiàn)在發(fā)展迅猛,得到廣泛的支持,并成立了Dojo 基金會(huì) , IBM 、AOL 、SUN這些大公司和WebWork、Tapestry、Open Laszlo等開源團(tuán)隊(duì)都是dojo基金會(huì)的成員,雄厚的后盾保證了Dojo可以持續(xù)的發(fā)展下去。
3.開發(fā)團(tuán)隊(duì)
在Alex Russell的領(lǐng)導(dǎo)下,Dojo的開發(fā)團(tuán)隊(duì)有著強(qiáng)大的開發(fā)能力,從目前版本提供的功能、質(zhì)量及更新的速度我們就可以看出來了。另外近期Dojo將會(huì)發(fā)布0.4.0。
4.用戶群體
由于Dojo出色的設(shè)計(jì),越來越多的AJAX專家及新手加入到了Dojo的開發(fā)者中,這些開發(fā)者也會(huì)相應(yīng)地動(dòng)Dojo的發(fā)展。
5.學(xué)習(xí)資源
Dojo官方網(wǎng)站有著豐富的學(xué)習(xí)資源(見“官方資源”一節(jié)),可以幫助人們更快地掌握Dojo,減少學(xué)習(xí)成本。
六、結(jié)語
Dojo可以幫助開發(fā)人員開發(fā)大型的AJAX項(xiàng)目,并有助于構(gòu)建健壯的代碼,節(jié)省開發(fā)時(shí)間。Dojo背后強(qiáng)大的支持后盾也可以保證持續(xù)不斷的補(bǔ)充新功能,有助于我們脫離低層重復(fù)的工作,專注于在此基礎(chǔ)上進(jìn)行開發(fā)。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com