dojo是什么与选择dojo的理由

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
 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
分三个包上传时,第三个包好像传不上去,我给整合了一下,打在一个包里上传了! dojo精品中文教程 Dojo.1.0 Practice Note [1] 什么是dojo 选择dojo理由 AJAX架构之Dojo篇 Adding Ajax中文版 (DoJo) DOJO学习笔记(七)-日期控件DropdownDatePicker和DatePicker DOJO常用的验证函数 Dojo with Adobe AIR Dojo 工具包教程 Dojo 快速安装 Dojo和JSON建立无限级AJAX动态加载的功能模块树 Dojo学习笔记( 模块与包) Dojo学习笔记-- djConfig解说 Dojo学习笔记-- dojo.dom Dojo学习笔记-- dojo.event & dojo.event.topic & dojo.event.browser Dojo学习笔记--DateTextbox Dojo学习笔记--Dojo的基础对象和方法 Dojo学习笔记--FisheyeList鱼眼效果 Dojo学习笔记--TabContainer Dojo学习笔记--ValidationTextbox Dojo学习笔记--dijit.Dialog Dojo学习笔记--dijit.Menu Dojo学习笔记--dijit.TitlePane Dojo学习笔记--dijit.Tooltip Dojo学习笔记--dijit.Tree Dojo学习笔记--dojo.graphics.color & dojo.uri.Uri Dojo学习笔记--dojo.string & dojo.lang Dojo学习笔记--动态生成widget Dojo学习笔记--开发自己的TitlePane Dojo学习笔记--页面部分区域遮挡,DialogUnderlay Dojo学习笔记(五)-djConfig详解 dojo data 接口详解 dojo0.9 使用心得 dojo学习笔记(一)-dojo.io.IO & dojo.io.BrowserIO) dojo学习笔记(三) dojo学习笔记(二) dojo.lang.array & dojo.lang.func & dojo.string.extras dojo学习笔记(六)- ContentPane dojo学习笔记(四) dojo的拖拽示例以及疑问! 介绍dojo事件 使用 Dojo 工具包和 JSON-RPC 构建企业 SOA Ajax 客户端 利用Dojo实现拖动(Drag and Drop)效果

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值