作者: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.开发团队
在alex russell的领导下,dojo的开发团队有着强大的开发能力,从目前版本提供的功能、质量及更新的速度我们就可以看出来了。另外近期dojo将会发布0.4.0。
4.用户群体
由于dojo出色的设计,越来越多的ajax专家及新手加入到了dojo的开发者中,这些开发者也会相应地动dojo的发展。
5.学习资源
dojo官方网站有着丰富的学习资源(见“官方资源”一节),可以帮助人们更快地掌握dojo,减少学习成本。
六、结语
dojo可以帮助开发人员开发大型的ajax项目,并有助于构建健壮的代码,节省开发时间。dojo背后强大的支持后盾也可以保证持续不断的补充新功能,有助于我们脱离低层重复的工作,专注于在此基础上进行开发。