前端之家收集整理的这篇文章主要介绍了
什么是DOJO?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Dojo是一个用JavaScript语言实现的开源DHTML工具包。它是在几个项目捐助基础上建立起来的(nWidgets,Burstlib,f(m)),这也是为什么叫它a unified toolkit的原因。Dojo的目标是
解决开发DHTML应用程序遇到的那些、长期存在 、历史问题,以及DHTML 跨浏览器问题。 Dojo能够让你更容易使Web
页面具有动态能力,或者在任何能够稳定
支持JavaScript语言的环境中发挥作用。 Dojo有以下的特征: 1、利用Dojo提供的组件,你可以提升你的web应用程序可用性、交互能力以及
功能上的提高。 2、也可以更容易的建立互动的
用户界面。同时Dojo提供小巧的动态处理工具。 3、利用它的低级API和可兼容的
代码,能够写出轻便的、单一风格(复杂)的JavaScript
代码。Dojo的事件系统、I/O的API以及通用语言形式是基于一个强大编程环境。 4、通过Dojo提供的工具,你可以为你的
代码写命令行式的单元测试
代码。 5、Dojo的扩展包能够使你自己的
代码更容易维护,耦合性更低。 Dojo通过很少的
代码完成了以上的
功能。当你写脚本时,只需要包含很少的js
文件,也可以选择的(包含)下载dojo提供的庞大的
功能。 --------------------------------------------------------------------------------------- (转)Dojo是一个非常强大的面向对象的JavaScript的工具箱,建议能够去复习一下JavaScript下如何使用OO进行编程的,这对于你以后阅读Dojo Source有很大的用处 请大家下载dojo 0.3.1,以下的说明均针对此版本 1: 把Dojo加入到我们的Web程序中 1.1 标志 <script type="text/javascript"> djConfig = { isDebug: false }; </script> djConfig是Dojo里的一个全局对象,其作用就是为Dojo提供各种选项,isDebug是最常用的
属性之一,设置为True以便能够在
页面上直接看到调试
输出,当然其中还有些
属性与调试有关,这里就不啰嗦了 1.2 引用 dojo 的启动
代码 <script type="text/javascript" src="/yourpath/dojo.js" /> 这样你就引用了dojo的
代码,并可以直接使用其中部分常用的对象,下载下来的dojo.js是压缩(remove comments and space)后的
代码,要阅读的话,建议阅读dojo.js.uncompressed.js,dojo.js大概有127K,而未压缩前有211K,ok,为什么会这么大呢,原来其已经把部分常用的模块整合进dojo.js里,因此显得大了一点,build.txt里就说明了默认的dojo.js包含了哪些模块 1.3 声明你所要用到的包 <script type="text/javascript"> dojo.require("dojo.math"); dojo.require("dojo.io.*"); dojo.require("dojo.widget.*"); </script> 你就把这些
代码当成是java的import语句或C#中的using语句一样,如果你不require的话,而模块本身又没有整合在dojo.js中,是会出现脚本
错误的喔 2. 针对不同需求提供的预整合包 Dojo本身是由许多模块所组合而成的,但是由于
用户需求的多样性,dojo针对不同的需求而提供了不同的版本,
用户在下载dojo的时候就看见可以选择很多的版本,比如Ajax版和Widget版,每个版本最重要的区别就在于dojo.js
文件,但是除此之外,每一个版本都是全
功能的,dojo.js根据版本的不同而整合进了不同的模块 3. 直接
获取Dojo的最新源
代码 ...... 模块 Dojo的
代码被划分为逻辑单元称之为模块,这有点类似于Java中的package,除了dojo的模块能够包含类 (类似于java中的classes)和简单
函数 比如: 模块"dojo.html"包含了一系列的
函数,比如dojo.html.getContent
Box(),模块"dojo.dnd"包含了一系列的HtmlDragObject的类 注意
名称约定,
函数的首字母为小写字母,类的首字母为大写 模块也可以称之为"命名空间" 包 在多数情况下,dojo的模块只需要定义在一个
文件就可以了,但有时,一个模块可能划分到多个
文件,比如: 模块dojo.html,本来是定义在一个
文件中,可是由于
功能的增强,
文件逐渐变大,我们不得不将其拆分为多个
文件,这主要是为
性能考虑,以便浏览器可以只下载其需要用到的
代码,不幸的是其实现细节对于dojo的
用户看起来不那么透明,你必须知道你想要用到的
功能到底是包含在哪个
文件,然后才能require并使用它,这样的每一个
文件都称之为一个包