What Is 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。
选择dojo的理由
作者:dlee
有朋友对于我为什么会选择dojo很感兴趣,我就在这里介绍一下我选择它的理由,以便对于其他网友也能有所帮助。
一、我选择dojo主要是出于以下几个理由:
1.dojo是一个很好的基础架构。
它可以非常有效地分离页面中的Structure、Presentation、Behaviour,这对于实现Ajax组件unobtrusive的目标非常有帮助。
有人问:那么,同样是基础架构,你为什么不选择Prototype呢?
当然,Prototype对于开发一些Ajax效果也是非常有帮助的。但是Prototype的设计目标和dojo有很大的不同。
Prototype 的设计目标是扩充JavaScript的功能,使得可以以类似于Ruby的方式来编写JavaScript。 Prototype主要是对于JavaScript语言本身的一些底层的扩充,另外解决了一些跨浏览器的问题。但是Prototype还是太底层了,本身提供的功能非常少,基于它来建造复杂的Ajax组件(例如,一个功能完善的Grid组件)仍然非常困难。
而Rico呢,仍然谈不上是一个框架,Rico和Scriptaculous都只是基于Prototype建造的Ajax效果库。 Rico的Live Grid太原始了,这也是我放弃Rico的一个原因,而且Rico这半年来就没有什么大的发展。
我并不是要否定Prototype,而是经过考察发现Prototype很难支持我的目标。我的目标就是建造一个全面的Ajax组件库,dojo恰好对于支持这个目标非常有帮助。
dojo其实是一个组件模型,类似于Spring,用来支持大规模的组件化开发。组件模型的作用就是增强代码的重用,这对于提高开发效率是至关重要的。
2.dojo的背后有强大的支持。
dojo现在已经是众多开源框架的选择,包括:
* WebWork
* Tapestry
* Eclipse ATF
* MyFaces
这个列表还会随着时间的推移而扩大。
dojo的开发团队由Alex Russell领军,人数众多,力量非常强大。
3.dojo的组件比较丰富,而且目前的开发非常活跃。
这里是一些组件列表,也可以在这里提出新的组件需求。
http://dojo.jot.com/WidgetWishlist
有一个正在开发的Grid组件,按照功能描述来看非常强大,值得高度注意。
http://dojo.jot.com/GridWidget
这样以来就可以减轻我的大量沉重的工作。
二、参加讨论:
matrix论坛
Ajaxcn
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=880985
分享到:
相关推荐
例如,`dojo/query`用于选择DOM元素,`dojo/on`用于监听事件。 3. **dojo/ready**:这个模块用于确保DOM加载完成后再执行指定的函数,它是Dojo中的一个实用工具,常用于页面初始化。 4. **dojo/store**:这是一个...
dojo文档 dojo文档 dojo文档 dojo文档 dojo文档 dojo文档 dojo文档 dojo文档 dojo文档 dojo文档 dojo文档 dojo文档
在数据交互方面,Dojo的dojo.xhr系列函数(如dojo.xhrGet、xhrPost)实现了与服务器的异步通信,支持JSON、XML等多种数据格式。另外,dojo.data API则提供了一种统一的方式来存储和检索数据,无论数据源是本地还是...
Dojo 是一个功能丰富的 JavaScript 库,它提供了一系列模块化、面向对象的工具,用于构建高性能的 Web 应用程序。在 Dojo 中,模块和包的概念是核心组成部分,它们帮助开发者组织和管理代码,使其更易于维护和重用。...
在众多的Ajax框架中,Dojo与Prototype和Ext JS一样,备受开发者青睐。Dojo是一款非常优秀的框架,但是它和Ext JS一样,缺乏完善而系统的参考资料。鉴于此,图灵公司引进了Dojo之父亲自撰写的《Mastering Dojo》一书...
dojo js dojo js dojo js dojo js dojo js dojo js dojo js
什么是dojo 选择dojo的理由 AJAX架构之Dojo篇 Adding Ajax中文版 (DoJo) DOJO学习笔记(七)-日期控件DropdownDatePicker和DatePicker DOJO常用的验证函数 Dojo with Adobe AIR Dojo 工具包教程 Dojo 快速...
什么是dojo 选择dojo的理由 AJAX架构之Dojo篇 Adding Ajax中文版 (DoJo) DOJO学习笔记(七)-日期控件DropdownDatePicker和DatePicker DOJO常用的验证函数 Dojo with Adobe AIR Dojo 工具包教程 Dojo 快速...
学习dojo的绝好资源学习dojo的绝好资源学习dojo的绝好资源学习dojo的绝好资源学习dojo的绝好资源学习dojo的绝好资源学习dojo的绝好资源学习dojo的绝好资源学习dojo的绝好资源学习dojo的绝好资源学习dojo的绝好资源...
什么是dojo 选择dojo的理由 AJAX架构之Dojo篇 Adding Ajax中文版 (DoJo) DOJO学习笔记(七)-日期控件DropdownDatePicker和DatePicker DOJO常用的验证函数 Dojo with Adobe AIR Dojo 工具包教程 Dojo 快速...
DOJO中文手册是针对JavaScript库Dojo的详细指南,源自中国的本地化版本,旨在帮助开发者理解和使用这个强大的工具包。Dojo是一个开源的DHTML工具集,由nWidgets、Burstlib和f(m)等多个项目的合并发展而来,因此被...
- **`dojo.query`**:这是一个类似于jQuery的选择器方法,可以根据CSS选择器来获取页面中的元素。 ```javascript // 获取所有name属性以"aa"开头的元素 dojo.query("[name^=aa]"); // 获取id为"aa"的元素 ...
7. **dojo/_base/xhr**:Dojo的异步请求模块,提供了与服务器进行数据交换的能力。在测试中,可能需要模拟或拦截这些网络请求来验证数据交互的逻辑。 8. **dojo/dom-form**:处理HTML表单的模块,可以方便地读取或...
`dojo.forEach`的灵活性在于它可以与其他Dojo函数结合使用,尤其是`dojo.query`,方便地处理DOM元素。例如,以下代码将禁用页面所有选择框: ```javascript dojo.forEach(dojo.query("select"), function(selectTag...
Dojo 是一个强大的JavaScript工具库,它为Web开发提供了丰富的功能和组件,涵盖了从DOM操作、事件处理到AJAX通信、动画效果等各个方面。在深入理解Dojo之前,我们需要了解JavaScript在网页开发中的核心地位以及它...
- **dojo/store**: 用于管理数据存储,可以与各种数据源(如JSON、XML、Ajax等)交互。 4. **DOJO的UI组件(Dijit)** Dijit是DOJO提供的UI库,包含各种可复用的用户界面组件,如按钮、表单、面板、树形视图等。...
Dojo的DOM操作库提供了一组高效且易于使用的API,如`dojo/query`用于选择元素,`dojo/dom`用于获取和设置元素属性,`dojo/dom-geometry`用于获取元素的位置和尺寸,以及`dojo/dom-class`和`dojo/dom-style`用于处理...
在实际项目中,Dojo还可以与其他技术,如jQuery或AngularJS,结合使用,以满足不同场景的需求。 总之,dojo1.8.chm和dojo1.11中文入门手册pdf是学习和掌握Dojo Toolkit不可或缺的参考资料。通过这两份文档,开发者...
9. **Dojo的AMD与CommonJS兼容**:虽然Dojo基于AMD,但它也兼容CommonJS规范,这意味着你可以将Dojo与其他遵循CommonJS的库结合使用。 10. **响应式设计**:Dojo的部件和布局组件支持响应式设计,可以适应不同屏幕...
`dojo/store/Memory`是一个简单的内存中数据存储,而`dojo/data/ItemFileReadStore`则常用于与服务器端JSON数据集成。 Dojo 还包含强大的数据请求API,如`dojo/xhr`,支持HTTP请求,包括GET、POST、PUT和DELETE等...