《the book of dojo》介绍翻译

前端之家收集整理的这篇文章主要介绍了《the book of dojo》介绍翻译前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

都知道ajax的框架已经为数众多,真正了解点的大框架也只有ms的asp.net ajax (atlas)以及Jquery吧,其他的都是拿来就用。最近有想做个小应用,所以想换一个其他新框架来用。dojo去年就有下过0.3.1版本,但当时用的不太舒服(可能是还不了解),就放一边。这几天无意看到了dojo1.0这个月发布了,于是带着好奇去关注了下。真的很吃惊,这个框架发展真的太快了,变得出奇的强大,已经把许多框架远远抛在了后面,令人赞叹!!于是我就想深入下dojo。但究竟Dojo是怎么一个东西,我翻译了《the book of dojo》的introduce章节,也许可以回答一些这问题吧。另外,也希望大家可以关注mootool,我发现它也挺好,对我目前用不Dojo,所以我会选用它。但至于你选择哪一种框架,也许下文会对你的选择有所帮助,或许你也因此想有投身Dojo的冲动,至少我有点了。

最后,希望Dojo有更多的中文文档。。。

详细文档:http://dojotoolkit.org/book/dojo-book-0-9-0

Dojo1.0下载地址:http://dojotoolkit.org/downloads

CONTENTS
目录
介绍
Dojo 做得非常多,努力地使它在 3 个主要的层面上容易使用: Dojo Core Dijit 、和 DojoX 。这本书作为这三个层面的指导,介绍一些你需要的概念。使你在建立自己的组件、客户命名空间、单元测试这些高层次运用时,从手足难堪中解脱出来。
正如你所见, Dijit 和DojoXJ建立在为所有Dojo应用程序提供支持Dojo Core的固定基础上。由于Core和Dijit被放入可靠的API及强大品质保证(QA)、国际化(i18n),容易处理许多网页边缘化特征的能力,也是因此Dojo而为人们所知。它们也在更松散的、更有组织的DojoX项目中得到发展。我们在整本书中都会向你展示各个部分是如何建立在彼此之上,以及如何运用每一个提供的基础,优雅地去解决直到现在用基于浏览器UI也难以对付的用户体验问题。
感谢你能看Dojo和《the Dojo Book》一书。如果在这本书中你没有弄明白,就在该书的网页中评论,留下你的问题。我们会努力地去改善。正是由于你的运用,激励了我们建立了Dojo。正是大家不断提升toolkit的用户体验的许多事,使我们一直坚持。正是在你们的帮助下,我们写下了这本书。
许可授权
你可以在商业软件中使用Dojo。这不需要去单独获取许可证或承担其他的责任。
Dojo Toolkit 是双重许可。优先许可协议是 Academic Free License v2.1 http://trac.dojotoolkit.org/browser/dojo/trunk/LICENSE#L43 )。它是非常开放的,允许被做商业用途,也为次级许可授权提供支持 Dojo 基金会的所有项目的代码都在这个许可条款下发行。因为 AFL 极其自由,因而几乎没有必要都使用双重许可授权条款的两个部分。
由于用户要面临一些 FSF 所造成的问题。这些问题有关于 AFL (L)GPL 的兼容性,模糊不清且由人为。因此, Toolkit 也许会交替使用 BSD 许可证。但是, AFL BSD 许可证都符合 Dojo 基金许可授权目标。
Dojo 的双重许可授权和许多开源项目的不同。两个条款都是开放源码和非常自由,没有特权和麻烦的商业用途条款。在任何时候,你都不需要选择 AFL 外其他东西。一般情况下,你也不需要另外做什么来表明你选择了一个许可证。如果你还有什么有关 Dojo 许可授权的问题,请不要犹豫,立即同目前 Dojo 基金会的主席 Alex Russell 联系吧。
Dojo 基金会的角色
Dojo 是一个开元源软件,由非赢利性基金会发布。这个基金会是作为中立的知识产权所有者而设立。为了向基金会的项目用户明确,关于基金会的代码不存在任何模棱两可或者隐藏的责任,所有的贡献者都被要求在贡献者许可同意书上的签名。
基金会的事务都要由 Dojo 基金会的所有委员投票决定。基金会由贡献者以透明的方式运作,并且只是依靠捐赠筹集资金。
基金会的许可授权目标概括在 Foundation page. http://dojotoolkit.org/foundation )。
第三方许可证
Dojo 使用了其他开源项目的代码,因此也要服从他们的许可条款。这些许可证和软件版权公告列表如下:
历史
早在 2004 年之前, Alex Russell(netWindows 的创始人 ) 就开始有意聘用 DHTML 项目 Informatica 的合作者。在这个过程中,许多 DHTML 社区的成员之间不断接触,以一封 2004 4 25 标题 “出售 DHTML 的未来”的邮件达到了顶点。 David Schontzler (Stilleye) Informatica 上花费了一个暑期的工作。 Dylan Schiemann 也在那时加入。就这样,在 Informatica 项目的帮助下, Alex Dylan 写下了 Dojo 的第一行代码。还有其他许多社区成员也活跃参与 Dojo 方面的设计。他们是 Joyce Park Tom Trenka Mark Anderson Leonard Lin ( 是他建议取名 Dojo) Aaron Boodman,Simon Willison Cal Henderson 以及 Dan Pupius
在许可授权、选择名字、代码规范、开发工具、服务器配置及需求上,我们和 ng-dhtml( 现在 Dojo 的开发者 ) 用一系列邮件讨论了几个月。这之后,便开始了工作,并成立了 Dojo 基金会。这个基金会是一个 501(c)6 (美国的一个联邦法案条款)实体,这个条款用来管理代码权和知识产权 (IP) ,今天也管着一些其他项目。在 2005 3 月,来自的社区的贡献开始重于核心开发团队。今天, Dojo 0.4.x 5 个主要发布版本已经有了超过 300,000 次的下载,有超过 60 个开发者的贡献和代码。以及有一些像 IBM AOL Sun SitePen Bloglines 等等这些大用户,也不断地使 Dojo 质量得到提高、社区变得活跃。
为什么要选择Dojo?
今天已经有几个高质量的 JavaScript 工具包,以及其他几百种质量与完整性不断改变的工具包。但为什么在如此多的选择中,你就要选择 Dojo 呢?
  • 宽度和深度: Dojo是一个“full stack”(意指集成了全部所需功能的框架)。与将几个来自不同源码的组件揉合在一起不同,Dojo是在可信赖的一套高质量大厦的基础上,用整合的公共基础和多种可选的模块去使用组件。这些组件提供了非常好的用户体验问题的解决方案,能够很容易地被放入你的需要。从平板层到客户图表和图象,从数据绑定到时间测试模块系统,Dojo都是实现强大体验的坚固基础。
  • 质量: 国际化和易用性基础,贯穿在整个Dojo的结构中。按键事件能正确地响应。所有的组件拼装成一个粘接力的整体。每一件事用CSS定制很轻松。可是,只要做很少的事,就可以在所有的地方都有非常好看的UI。
  • 表现: Dojo每天都被用在高收益、高流量的网站上,使用Dojo的构建工具是主要原因。Dojo的包系统,让管理大型UI项目开发、系统顶层建设更加的容易,使你的项目更出色。
  • 社区: Dojo是个开放社区。因此,许许多多的个人和公司一起加入进来,开发了大家得益的工具。工具的许可授权也尽量做得非政治。如果你正在打算涉及这些,我们也努力使满足你的渴望变得容易。所有的开发都是在开源环境中进行,参与近来的障碍也特意放得非常低。我们不在意你在哪工作或者你多有资格,我只关心你很想构件更好用户体验的产品。设计者、开发者或文档编写人员,Dojo社区尊重每一种贡献,你在社区中的地位只等于你所做工作,而不是政治口角。我们正做工作改变关于那些人可以参与贡献开源组织的概念,我们邀请你参与我们一起绘描绘新的路径。如果你想要构建一个强大的产品以及觉得自己可以帮助我们,那么希望你告诉我们。
Dojo 与其他的工具包的比较
几个其他的工具包常常被用来和 Dojo 作比较。这里的比较也不全面,但也是一些高层次的比较。包括了它们的特征和设计目标,以及它们与 Dojo 特征和开发工序及原理的比较。
  • MochiKit:MochiKit是一个高质量的JavaScript工具包,它使得写Javacript代码更出神入化并且达到出色的表现效果。它和Dojo一样,采用了许多旧的打包、命名、全局名字空间的惯例。主要由Bob Ippolito所写。它有大量的文档和测试。但是不像Dojo,它没有一个小组件系统(widget system)和可扩展的组件套。一些代码被Mochi和Dojo共享(当然,在CLA许可协议下)。Mochi没有被一个基金会所援助,代码门第也未得证明,但是它被很自由地许可。
  • Prototype+Scriptaculous: 这二者是个普遍使用的库,提供了许多和Dojo Core同样的功能。但是,在关于全局命名空间、常使用方法简命名偏好,及其它所关心的方面上,它们和Dojo保持了不同的原理。这两个库主要有良好的文档和广泛的社区支持,还可以与Ruby On Rails(以及其他框架中)紧凑的整合在一起。Scriptaculous提供了一些控件,比如自动完成输入框(auto-complete)、滑动条(sliders)等,但都不是组件工具包,也没有为轻松构件组件提供支持。虽然许多第三方扩展(add-on)库可以用在Prototype+Scriptaculous上,可是同样没有和库一起发布,也没有具有特色的包和构建系统。Prototype和Scriptaculous Mochi没有被一个基金会所援助,代码门第也未得证明,但是它们非常自由的被使用。
  • YUI: YUI是由Yahoo内部开发,以可扩展性、高质量的文档和示例为特色。目的是为实现快速,锁定专业PHP开发者设计。其实说实话,YUI主要是为满足Yahoo规模的应用程序的需要而设计的。工具包中的可用控件日渐变多,都使用了好用的标准化布局样式表CSSYUI没有使用包系统,但是分发了向上滚动(roll up常用功能文件,并用文档清楚告诉用什么顺序装载。不能用CSS查询标记驱动组件(markup-driven widget)。YUI有活跃的社区和大方的许可授权,但是外部的贡献者并不被允许进入这个项目,Yohoo也没有澄清代码的血统和其他工具包的知识产权(IP)YUI没从源头控制任何的数据访问。在Yahoo CDN上使用的YUI都被边缘缓存(edge-cached)。
  • JQuery:一个最初关注于操纵现在DOM结构的小型系统。它以混合Xpath/CSS查询语言(Dojo使用的是标准的CSS3.0查询)为特色,为查询结果提供了一套丰富的选择和操作。JqueryAjax效果和其他一些运用装入一个核心(除了Mootools,胜过其他所有的)然而Jquery中没有足见和包系统,可以使用在Jquery上建立的第三方组件库。Jquery社区高度活跃,常常也很有帮助,外部的贡献和补丁也被接受。JqureyMITGPL双重许可,John Resig具有所有版权。但是并不清楚在什么条款下,其他贡献者如何把知识产权(IP)分给了John。有几个框架(特别是Drupal)已将Jquery整合了进去。
  • EXT:有点类似DojoDijit系统,EXT是一个组件库。它以数量庞大的一致且好看的小组件(widget)为特色,这些组件实现了跨浏览器的纯像素布局和仿桌面UI。最初EXT是为在YUI和后来的Jquery上运行而设计。如今,它有自己的低层库,不需要依赖第三方。EXT社区非常活跃,具有良好的库文档。依据LGPL许可授权,有多种形式的商业许可证。但是,外部的贡献者是否被认可(在哪些条款下),以及在某些方面,无名子版本的访问受不受那些项目资金提供者的限制,都还不清楚。
  • GWT:GWT注意到JavaScript应是个要被解决bug,应运用高级编译器技术让开发者在Java中编写,并生成JavaScript为基础的动态Google风格的UI。因此,GWT直接整合了服务器端开发和客户端开发。默认的小组件(widget)系列完全是Dijit所提供的子系列,但是要充分地运用所有的代码生成却相当辛苦。不断增大的第三方扩展库很宝贵,可为默认组件做了不少提升。不像YUIEXTGWT是以一个开源项目进行的,允许来自外部的贡献者(committer)。在开源环境下进行开发,然而这也使得在管理知识产权(IP)的问题上用了很复杂方式(CLA代码检查,许多地方很像ApacheDojo)。GWT应用程序只能用Java来写,并且很多是要依赖于Java的容器。良好的文档和不断成长的社区提供了很有帮助。
为了比较 ,Dojo :
  • 接受外部贡献者,并使用CLA许可协议(如同GWT和Apache)来保证没有知识产权的争论。
  • 许可授权非常自由,为每个人都提供了匿名SVN访问。权利也得到了保证。
  • 提供一个比较丰富的客户端组件套,但不要求和任何服务器端语言(“是协议,而不是API”)紧密绑定。
  • 尽量在网线中传输大小和常用功能之间提供一种平衡。Dojo的基础库(Dojo Base)大小和Prototype接近。
  • 非常注意使你的页面不会侵犯到其他代码,并且都保留了它们的全局命名空间。
  • AOLs CDN上的所有使用都会可以被边际缓存(edge-cached)。
  • 提供包系统,使你知道在假设的问题上以什顺序进行加载的。
允许通过标记进一步增进。提供了易用的小组件(widget)系统构建你自己的可重用组件(component),这些都能非常容易通过标记实例化。

猜你在找的Dojo相关文章