dojo快速入门-框架初识
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DOJO快速入门
----------------------------------------------------------------------------------------------------- 为什么是dojo?
dojo Toolkit 是一个开源的JavaScript工具包用于构造web应用。它通过提供设计良好的api和工具包缩短了实现设计的时间。它是轻量极其健壮的,提供工具来实现DOM操作,动画,ajax,event 和键盘标准化, 国际化I18N,可访问性(a11y).Dojo基本上是单独一个轻量级的实体(26kb). Dojo是完全免费的,又一组活跃于社区的developer开发。
无论项目的大小,Dojo都是一个弹性的解决方案。内建的package系统不再使查找依赖成为问题,build 系统合并优化各层的代码,D.O.H使单元和回归测试很容易。
Add-ons
除了dojo.js提供的大量工具,通过调用dojo.require(),使用强大的package系统可以为系统增加很多功能。Dojo核心包括drag&drop,高级ajax传输,字符串处理,强大的Data API等等。
无穷的可能性
dojo toolkit 也包括称为Dijit的项目包。它是用于使用和创建封装的和可重用的组件或widgets。它提供可访问,可扩展和基于主题的组件来建造你的web应用和站点。它也提供强大的api来开发你自己的widgets或者配置已有widgets的行为。
最新的技术
dojo通过帮助开发者创造丰富的交互性的web应用来实现WEB2.0的设想。Internet的静态内容越来越少,更多的是动态数据库和及时响应。这种趋势往往需要优雅的界面和可靠的操作工具。当没有网络连接时,web应用如果没有离线技术就变得不能用了。但是dojo仍然可以保障用户使用一些功能即使没有网络连接。无论用户处于什么状态,离线功能是保证web应用被认为是可靠工具的关键所在。
获得代码
下载最新发布的Dojo Toolkit版本:
/current-stable/
你会看到许多可用的文件。标准发布文件dojo-release-#.#.#以tar.gz或zip格式存在。文件包后缀为-src表示这是一个"源代码发布版",包含所有构造客户定制Dojo的测试和公用方法。
解压文件包到一个目录中(最好放到一个适合做Ajax开发的web Server上)。假定目录名是"js/",那么目录结构应该是如下图所示:
安装Dojo Toolkit,最重要的事情是知道dojo.js位于什么地方。当dojo.js被页面加载以后,Dojo的
package system会处理如何加载所有其他的依赖和相关模块。
如果要验证下载和安装的正确性,可以通过浏览器访问http://localhost/js/dojo-release/dojo/tests/runTests.html 或者访问dijit的测试页面http://localhost/js/dojo-release/dijit/tests.
"The Dojo Book"是一本免费的指南教程,提供了更深度的描述关于怎样获得Dojo源代码以及可用的不同发布版本。
开始步骤
先构造一个HTML模版dojo-tutorial.html,假定存放在..js/dojo-tutorial.html 目录下
"/TR/html4/strict.dtd">
/* our JavaScript will go here */
/* our CSS can go here */
Dojo Skeleton Page
Some Content To Replace
页面中的DOCTYPE定义为"HTML/4.01 Strict",严格的W3C验证。
配置Dojo
Dojo可以runtime实时设定各种配置信息。最常用的两个配置参数是parseOnLoad和isDebug。parseOnLoad用来处理页面装载解析widgets和添加代码,isDebug用来打开和禁止特定的debugging 信息。
可以直接在装载dojo.js的标签中通过djConfig属性设置这些选项。简单的更改
HTML模板来添加这个新属性。
如果以上没有通过验证,也可以在dojo.js被加载前构造一个全局的djConfig变量。
两个例子有同样的效果:以debug模式装载dojo.js,同时运行解析器。
什么时候可以开始?
只要dojo.js在 标签中被正确引用,就可以开始写一些功能代码了。
不同的浏览器对于"ready"有不同的定义。dojo.addOnLoad()是用来被触发执行其他功能代码的dojo函数。任何可能影响DOM的操作都应该通过dojo.addOnLoad()被调用执行。例如,
需要记住的是:当使用Dojo时候,不要设置onLoad()方法到
标签中。dojo.addOnlLoad(someFunc)可以替代 和window.onload = someFunc。不仅仅是Dojo
Dojo通过dojo.require()装载其他相关代码。这个功能允许我们使用那些不属于Dojo.js的Dojo Toolkit,比如拖放功能,动画,Dijit widgets, DojoX项目或者开发者自己的代码。
比如,在模块dijit.TitlePane和dijit.form.Button的页面中,使用TitlePane Widget和dijit按钮。