没有合适的资源?快使用搜索试试~ 我知道了~
首页DOJO中文手册,非常全面
DOJO中文手册,非常全面
需积分: 35 20 下载量 163 浏览量
更新于2023-06-28
评论
收藏 417KB PDF 举报
DOJO中文手册 Dojo 是一个用javascript语言实现的开源DHTML工具包。它是在几个项目捐助基础上建立起来的(nWidgets, Burstlib, f(m)), 这也是为什么叫它a \"unified\" toolkit的原因。Dojo的目标是解决开发DHTML应用程序遇到的那些,长期存在 、历史问题。historical problems with DHTML 跨浏览器问题。
资源详情
资源评论
资源推荐
什么是 dojo
Dojo 是一个用 javascript 语言实现的开源 DHTML 工具包。它是在几个项目捐助基础上建立起来的
(nWidgets, Burstlib, f(m)), 这也是为什么叫它 a \"unified\" toolkit 的原因。Dojo 的目标是解决开发 DHTML
应用程序遇到的那些,长期存在 、历史问题。historical problems with DHTML 跨浏览器问题。
Dojo 让你更容易 使 web 页面具有动态能力,或在任何稳健的支持 javascript 语言的环境中发挥作用。
a、利用 dojo 提供的组件,你可以提升你的 web 应用程序可用性、交互能力以及功能上的提高;
b、你也可以 更容易的建立 degradeable user interfaces ??,dojo 提供小巧的 widgets ,animate
transitions;
c、利用它的低级 APIs 和可兼容的代码,写出轻便的、单一风格(复杂)的 javascript 代码,Dojo 的 event
system, I/O APIs, and generic language enhancement form the basis of a powerful programming
environment.
d、通过 Dojo 提供的工具,你可以为你的代码写命令行式的单元测试代码。
e、the Dojo package system 使你自己的代码更容易维护,偶合性更低。
Dojo 通过很少的代码完成了以上的功能。(以后可能我详细说说 dojo 的 package system ,只需要三个
js 文件)。当你写脚本时,只需要包含很少的 js 文件(大小)。也可以选择的(包含)下载 dojo 提供的庞
大的功能。Dojo provides MultiplePointsOfEntry, InterpreterIndependence, ForwardLookingAPIs, and
focuses on ReducingBarriersToAdoption.
dojo 试图建立一种新的标签语言 DojoML。目标是,在 DojoML 和 javascript 脚本语言不变的情况下,
用不同的 render 方式展示数据, Renderings may be made available in several rendering contexts (such
as SVG, or perhaps even the desktop or Flash)。(比较美好啊)更进一步,the DojoML 剖析器可以接受
html 和 svg 为输入,容易的建立 DegradeableResponsiveApplications。
AJAX 架构之 Dojo 篇
一、前言
自去年开始,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 背后强大
的支持后盾也可以保证持续不断的补充新功能,有助于我们脱离低层重复的工作,专注于在此基础上进行
开发。
DOJO 学习笔记(七)——日期控件 DropdownDatePicker 和 DatePicker
这是两个封装良好的日历组件,用来给用户提供方便的日历选择方式。
以较为复杂的 DropdownDatePicker 为例,首先在页面中 require 进来这个组件:
<script type="text/javascript">
<!--
dojo.require("dojo.widget.DropdownDatePicker");
//-->
</script>
然后在页面中加入:
<div inputName="startDate" dojoType="dropdowndatepicker" dateFormat="%Y-%m-%d"
weekStartsOn="1" adjustWeeks="true"/>
或
<div inputName="endDate" dojoType="dropdowndatepicker" dateFormat="%Y-%m-%d"
weekStartsOn="1" adjustWeeks="true"/>
Dojo 就会自动生成两个日历组件,一个用来选择开始日期,一个用来选择结束日期。
其 中的属性 dojoType指明 widget的类型(全部小写就可以了)。inputName 就是生成的 input字段的 name,
提交时候作为表单的一个 参数。dateFormat 是日期的格式。weekStartsOn 是日历中显示的一周以哪一天
开始,这里是以周一开始(0-6,0 代表周日)。 adjustWeeks 指明是否需要根据每个月的实际天数来调
整日历中每月显示的天数(如果不调整,每个月除了自己的天数,还会多出一些相邻月份的天数, 总的天
数固定为 42 天)。
如果需要给日期设置一个初始值,可以添加 value 属性,例如 value="2006-10-25"。
以下的例子将组件的 setDate 事件(就是组件的 setDate 方法被调用)与外部某个回调函数关联起来:
html 这样声明:
<div id="foo" inputName="startDate" dojoType="dropdowndatepicker" dateFormat="%Y-%m-%d"
weekStartsOn="1" adjustWeeks="true"/>
Javas cript 这样写:
<script type="text/javas cript">
<!--
function test(rfcDate){
alert(rfcDate);
}
dojo.event.connect( dojo.widget.byId("foo").datePicker, "setDate", test);
//-->
</script>
当选择了日期,要将日期设置到 input 字段中时,会调用 test 回调函数。
DatePicker 组件的用法类似,DropdownDatePicker 实际上是对 DatePicker 组件所做的一个封装,更适合
使用在表单输入的环境中。
DOJO 常用的验证函数
dojo 提供了几乎全方位的验证函数,在使用下面的方法之前,要通过类似下面的语句引入 dojo 的相关库,
如
<s cript src="/js/dojo/dojo.js"></s cript>
<s cript type="text/javas cript">
剩余68页未读,继续阅读
xiongxinping
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- RTL8188FU-Linux-v5.7.4.2-36687.20200602.tar(20765).gz
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0