Dojo是一个JavaScript实现的开源DHTML工具包。Dojo的最初目标是解决开发DHTML应用程序时遇到的一些长期存在的历史问题。
【注:DHTML是一种使HTML页面具有动态特性的艺术。DHTML是一种创建动态和交互WEB站点的技术集合。对大多数人来说,DHTML意味着HTML、样式表和JavaScript的组合】
Dojo在很大程度上屏蔽了浏览器之间的差异性,因此,不必再担心Web页面是否在某些浏览器中可用。
通过Dojo提供的工具,还可以为代码编写命令行式的单元测试代码
Dojo主要由三大模块组成:Core、Dijit、DojoX
Core提供ajax、事件、基于CSS的查询、动画以及JSON等相关操作API
Dijit是一个可更换皮肤,基于模板的Web界面控制库,包含许多简单易用的小部件
DojoX包括一些新颖的代码和控件,例如DateGrid、Chart、离线应用、跨浏览器矢量绘图等。此外Dojo还包含一个工具库(Util)模块,该模块包含一个单元测试框架,从Dojo源代码中生成文档工具,以及JavaScript资源打包与压缩工具。
这几个模块之间的相互关系如图:
从总体来看,Dojo是一个分层的体系架构。最下面的一层是包系统,Dojo API的结构与Java很类似,它把所有的API分成不同的包,要使用某个API的时候,只需要导入这个API所在的包。
Dojo提供了上百个包,这些包分别放在Dojo、Dijit和DojoX三个一级命名空间中。由于Dojo包的种类繁多,以下只列举最常用的包以及功能共查看: