`
zerozone
  • 浏览: 205297 次
  • 来自: 北京
社区版块
存档分类
最新评论

[翻译]Ext vs. Dojo

阅读更多
你是否觉得人们似乎习惯了人云亦云而忽视了这样一个事实即只有用户才有最终的发言权。如论如何请把文本看完,我相信作者的独到观点很值得大家思考。原文:http://jroller.com/page/sjivan

Ext  vs.  Dojo

尊重是挣来的而非买来的。本文不对Ext和Dojo进行技术上的对比,而是对两者发展和建立用户群的区别做个比较。

读完Alex Russell(Dojo创建者)的文章Why Dojo?之后,激发了我写本篇Blog。Alex在他的文章写到为什么Dojo应该被选用:相对其它Ajax库,Dojo拥有特有超越对手的深度&广度,质量,性能和社区。他还指出:Dojo用于创建高级的,日流量高的网站。Dojo的创建工具是其关键。Dojo的Package系统使管理大型的UI开发项目变得轻松,它顶级的系统组件层使得你的应用让人尖叫不已;而这不需要更改代码。

我曾经大量使用Dojo以前的版本0.3和0.4,当时还没有很多的选择,而Dojo领先于其它库。不过现在我的Dojo经验和Alex说的完全相反。Dojo的确有其广度和深度,但多数使用过的人说他们发现Dojo变的臃肿,这就是一个(不使用Dojo)的合理原因。当你开始创建任何一个比其示例大型的应用,Dojo应用就迅速变得相当迟钝。由于Dojo模板加载的同步特性导致正常浏览器“僵住”,这已经被某些Dojo提交者公开承认。Dojo组件框架中存在漏洞特别是Tab和Dialog,他们确实不知道其原因何在。

Dojo社区变得越来越大,也许是因为Dojo曾领先于其它库或者因为用户已经在Dojo上投入很多,不管怎样都不值得乐观。多数用户对Dojo的差劲性能和文档匮乏感到不满和挫败。2007年7月3日,Dojo 0.9提前一年发布。它很大一部分被重写别且现在声称“极快”(译者注,巧合的是jQuery新版本同样声称速度提高800%,我的天…)。我很欣赏他们为新版本发布所做的辛勤工作以及Dojo新的改进,但让人厌倦的是在Dojo 0.9 beta 发布不到一周,作者就开始大谈Dojo有多快;如何在一些高级的网站上应用以及为何用户应该选用Dojo而不是其它。我相信Alex有他正确的理由,但我们能否让社区用户率先使用并验证其之前声称的成就吗?我们与其总是听作者讲Dojo有多好,倒不如多从用户那里倾听一些。

现在让我们谈谈Ext – Ext源于一个YUI扩展,Jack Slocum出色的工作迅速引起广大用户们的注意。作者原网站上wordpress风格的注释马上取得成功并引发用户铺天盖地的评论。Jack继续做他的工作并在难以想象的极短时间内并制作出了最优质的成果如Grid组件和Tree组件;在质量和功能性上,它远超于任何我所知道的其它组件库。Jack是一个非常聪明的家伙,他从社区获取主要组件设计方案例如Grid,并基于用户反馈使其合为一体。YUI-Ext从一个YUI扩展开始成长为一个全面的库,它有简洁、强大的API。此时它的快速发展使得YUI保持跟进。

Ext和Dojo的明显区别在于,当你浏览Ext论坛时,这里的用户对使用Ext极其兴奋并对他们制作的产品满意。我已经无法统计有多少次看到用户请求一个功能而Jack回复说这个功能早已经有了并指出其在文档的所在章节。我没有看到我用过的其它库有过类似情况。令人难以置信的是Jack好像总是能先于用户添加他们想要的功能。

你也看不到Jack发布任何重大的引入侧目的讲述Ext如何好的新闻。相反是用户在说Ext如何好。有不计其数的使用Ext创建的网站,而不是虚幻的高级的、高流量的网站列表。

Jack从社区赢得了尊重,他不是靠谈论他的工作,而是努力制造用户喜欢的最优质的库。
分享到:
评论
14 楼 blackanger 2007-08-06  
netfishx 写道
ext始终没有机会用于正式的项目中,但它确实是我所见过最协调的js lib。


WHY?
13 楼 xiumu 2007-07-20  
一直关注ext,希望项目中能应用一下
12 楼 sp42 2007-07-13  
与其说JACK 是天才式人物,那我更愿意认为Jack一个是kind person.关于Jack的其人其事,摘录如下:
关于YUI-EXT作者JACK的十个问题


Ten Questions with YAHOO.ext Author Jack Slocum
http://yuiblog.com/blog/2006/10/10/ten-questions-slocum

Q:您是怎么进入前端工程(front-end engineering)这一行的?
从1995年起,我开始接触WEB开发。那时我主要做的是建公司网站。后来我也参与了一些较有璩头的网站的网站,如compare.net (现在的 shopping.msn.com), howardstern.com 和drlaura.com.

Q:什么使得你选择YUI来做扩展?
有四到五年的时间我只在IE上做开发。但随着FIREFOX等浏览器日渐流行,我们迫切需要一个能够跨浏览器的解决方案。YUI正好可以帮到我轻松地过渡此类问题。随着开发的不断了解,我发现有几种办法,让我可以改进、或者说扩展原YUI的功能。今年的八月份,我建立了关于YUI的BLOG并且开始YUI-EXT的开发。

Q:项目YUI-EXT的真正目标是什么?
创建一个对象可再用的库和小器件(widgets),来改进整个YUI可用性,使得YUI不需要其它库的帮忙。


Q:目前你写了那些组件?
(译注,这是去年10月份的文章,组件当时到现在的情况可能有较大的变化。请参阅相关已更新的讯息)
A Grid component that supports various data sources, paging, inline editing and various selection models.
A flexible SplitBar component.
A basic TabPanel component.
A basic Toolbar component.
An extended Animation library built on top of YAHOO.util.Anim that supports automatic animation sequencing and synchronization.
A variety of utility classes that make every day development with YUI a little easier:
Element:  Simplifies working with DOM elements. It also supports performing YUI animations automatically when setting an element’s properties.
DomHelper: Highly optimized DOM creation and in-browser templates utility.
EventManager: Takes YAHOO.util.Event one step further and provides normalized browser event objects.
UpdateManager: Ajax helper to manage DOM element updates.
Q:Gird这个组件已经吸引了很多人的注意力。这个组件统计过有下载多少次吗?到目前为止,YUIE-EXT被下载过多少?
遗憾的是,我是最近两个礼拜才统计的,超过5000次下载了。


Q:文档和Gird、其它扩展的支持,准备得怎么样?
正如YUI小组的观点一样,我认为文档是非常重要的一环。所有组件都已经归档和附有若干的范例,而且对于每个组件,我博客至少有一篇贴子是用浅显的英文来说明每个组件是如何使用。


Q:上个礼拜,你发布了DOM helper,一个可以让开发者控制DOM的工具,比起其它库的工具性能要高。未来新版的主要功能是什么?

DomHelper和模版类提供了跨浏览器的提取DOM元素。有别于其它传统API只是提供简洁、友好的方式,DomHelper类还提供了如HTML片断和模版的高效插入方法。与Scriptaculous Builder 、 Mochikit之间的实时测试,这里可以找到http://www.jackslocum.com/yui/20 ... ments-or-templates/(已译中文:http://ajaxjs.com/yuicn/article.asp?id=20070113)。


Q:你Wordpress评论系统可以允许读者在不同的段落上发表评论,这一点,博客们很感兴趣,想知道你什么时候公开这个插件。
真正做这个评论系统的原因是能够让人们在教程中,或者是范例中,针对性地根据某一段代码、或者是话题,提出他们的问题或POST他们的想法。我不确定这能否做成WordPress的插件,因为我手工地修改过WordPress的核心程序。

Q:你下一个开发RoadMap是?
下一个版本是"Resizable组件"可以用户使某个元素可缩可放;还有一个Forms Library,弄成一个带有实时数据验证、数据绑定、普通桌面式的用户体验,还有一些idea如任务栏(像windows explorer)。GIRD也会改进columns和渲染的问题。


Q:你期待中YUI是怎么样子的?
当然是。。。不要Gird组件了:-)。而我最想要的是History Utility。对比过那么多Ajax的项目,YUI是有它不错的地方,而且也会越来越好的
Q:有其它开发者一起开发YUI.EXT吗?
现在已经有不少朋友在帮我忙,他们帮我解决了不少的问题(如Safari的)。
我很乐意收到用这个库的朋友们的反馈和建议。目前是我一个人在做核心开发,当然我会接纳一些帮助。

Q:开发者如何参与项目的实践?
最好是来论坛多讨论 http://www.jackslocum.com/forum/),你也可以直接发邮件到JACK的YAHOO邮箱。
**********************
p.s:当前EXT核心开发除了Jack本身多了一个Brian。这里有一段Jack和Brian的采访录音:
http://blog.kevinhoyt.org/interviews/
11 楼 engzs 2007-07-12  
ext好像没有dojo那样有很多资金在支持,不过dojo1.0还不能翻身却可能就被淘汰了
10 楼 skyey 2007-07-12  
ext 现在也面临着被购买,jack也是,而购买后支持什么,还是个未知数
9 楼 s.w.pollux 2007-07-12  
2个都我都喜欢,但不能听sjivan的一面之词,他对ext也比较偏爱,从他开发GWT-Ext这个wrapper就可以看出来。不可否认他自己不正在走宣传ext之路吗?
其实dojo0.9速度方面确实是优势,jquery不在1.1.3出来的时候也在宣扬提升8倍速度之优势吗?难道dojo的alex就不能说说?
EXT的作者确实是一个kind person。但个人觉得dojo比ext更具王者风范!:)

8 楼 dlee 2007-07-11  
to Tin:
不过话说回来,其实也确实需要有Dojo这样全面的开源组件库。就看他们今年之内能不能打一个翻身仗了,要么凤凰涅磐,要么被打入十八层地狱。

对于面向Internet的Web应用和面向Intranet的企业应用来说,需要的Widget类型还是有很大不同的。我感觉Dojo更适合企业应用和产品开发的需要,离线存储、DataGrid、Chart等组件对于企业应用来说都是很重要的(当然这些组件还要等一段时间才能稳定下来)。BEA基于Mashup技术开发的产品中已经使用上了Dojo。他们一直做下去,应该会不断取得改进的。

BTW:你们新的邮箱系统的交互设计做的不错,比去年的版本强多了,可见花了很多心思。
7 楼 Tin 2007-07-11  
zerozone这篇文章写得真好!从用户的角度Dojo确实非常不人道。
从政治上Dojo一直就是根红苗正,受到大厂商和很多书籍作者的多方支持。成果也显著,从体形上就可以看出来。查一查目录和手册你发现你要用的都有了,可是等你用的时候你会发现大部分问题多多,等你准备等待修改的时候,你发现API变化了……所以说非常不人道。只有政治支持,和伟大的目标还不够,也要体恤民情呀。
Ext是典型的天才的产物!会很火的,要认真跟上。当然用之前也要考虑你是否用Widget来构建你的应用,因为Ext是以它的Widget见长的。
6 楼 dlee 2007-07-10  
我对Ext也挺看好。不过Dojo其实对于DHTML开发也做出了很多贡献,我们需要看到。

Dojo有一些独到之处,在一些方面扩展了DHTML的能力,我能想到的主要有以下方面:
1. 支持与浏览器Back/Forward按钮的集成。
2. Dojo Offline,一个跨平台的离线存储API。
3. Chart组件,可以方便地在浏览器端生成图表。
4. 基于SVG/VML的矢量图形库。
5. Google Maps、Yahoo! Maps组件,方便开发Mashup应用。
6. Comet支持,通过通用的Buyeux协议。

Dojo变得复杂,部分原因是因为Dojo要完成的一些任务本身就很复杂。例如一个强大的Chart组件、一个全面的矢量图形库,这些任务都是很复杂的任务,目前还没有看到其他的开源组件库决定完成这些任务。还有一些领域是传统的DHTML尚未涉足的领域,例如离线存储、Chart组件、矢量图形库等等。另外Dojo考虑的问题太多,既想运行于浏览器端JavaScript环境,还想运行于服务器端JavaScript环境,将来还想运行于Mobile Ajax环境,贪大求全,战线铺的太开,这是他们的开发周期旷日持久的主要原因。

Dojo不缺钱,它得到了IBM、Sun、BEA等大公司的支持,长期发展下去,前景也是很乐观的。当然它目前还不是理想的选择,因为很多API都没有定型,而且很多Widget不稳定,性能较差。我们需要做长期的观察,也许将来Dojo会成为一种理想的选择。
5 楼 engzs 2007-07-10  
需要大型库用ext,需要小型库用jQuery
4 楼 冷静的猪 2007-07-10  
不错 坚定了我的信心 我们正准备用这套库~
3 楼 netfishx 2007-07-10  
ext始终没有机会用于正式的项目中,但它确实是我所见过最协调的js lib。
2 楼 lgx522 2007-07-10  
初次印象,Ext非常优秀。
1 楼 hax 2007-07-10  
Ext的反击来了,吼吼。。。

相关推荐

    EXT dojochina Ext注册.rar

    5. **EXT.js与Dojo Toolkit的对比**:如果针对两者的学习者,文件可能讨论了它们的区别,以及在何时选择EXT.js。 6. **社区资源链接**:可能包含Dojo China论坛、API文档、问答社区等在线资源的链接,以便进一步...

    EXT dojochina文本框示例Ext.form.TextField.rar

    Dojo China社区是一个专注于JavaScript技术,特别是Dojo Toolkit和EXT JS等技术的交流平台。在本示例中,"EXT dojochina文本框示例Ext.form.TextField.rar"是一个压缩包,包含了EXT框架中关于`Ext.form.TextField`...

    Addison.Wesley.Dojo.Using.the.Dojo.JavaScript.Library.to.Build.Ajax.Applications.Jun.2008.pdf

    根据给定文件的信息,我们可以提炼出以下关于《使用Dojo JavaScript库构建Ajax应用程序》的关键知识点: ### 一、Dojo JavaScript库简介 Dojo是一个开源的JavaScript库,它提供了丰富的功能来帮助开发者创建高性能...

    Pragmatic.Bookshelf.Mastering.Dojo.Jun.2008.pdf

    1. **Dojo基础**:首先,读者会了解到Dojo的核心概念,如dojo.js加载器、dojo.declare用于类定义、dojo.connect用于事件处理,以及dojo.query用于DOM查询。这些基础知识是理解Dojo工作的关键。 2. **模块系统(AMD...

    org.jbundle.res.dojo-1.6.6.zip

    标题中的"org.jbundle.res.dojo-1.6.6.zip"表明这是一个关于Dojo JavaScript库的特定版本,Dojo是开源的JavaScript框架,广泛用于构建富互联网应用程序(RIA)。"1.6.6"是Dojo框架的版本号,表示这个压缩包包含了该...

    JavaScript框架高级编程——应用Prototype、YUI、Ext JS、Dojo、MooTools

    JavaScript框架高级编程——应用Prototype、YUI、Ext JS、Dojo、MooTools JavaScript框架高级编程——应用Prototype、YUI、Ext JS、Dojo、MooTools

    dojo精品中文教程(包一)

    Dojo学习笔记-- dojo.event & dojo.event.topic & dojo.event.browser Dojo学习笔记--DateTextbox Dojo学习笔记--Dojo的基础对象和方法 Dojo学习笔记--FisheyeList鱼眼效果 Dojo学习笔记--TabContainer Dojo...

    dojo精品中文教程(全)

    Dojo学习笔记-- dojo.event & dojo.event.topic & dojo.event.browser Dojo学习笔记--DateTextbox Dojo学习笔记--Dojo的基础对象和方法 Dojo学习笔记--FisheyeList鱼眼效果 Dojo学习笔记--TabContainer Dojo...

    dojo精品中文教程(包二)

    Dojo学习笔记-- dojo.event & dojo.event.topic & dojo.event.browser Dojo学习笔记--DateTextbox Dojo学习笔记--Dojo的基础对象和方法 Dojo学习笔记--FisheyeList鱼眼效果 Dojo学习笔记--TabContainer Dojo...

    Dojo1.rarDojo1.rarDojo1.rarDojo1.rar

    【压缩包子文件的文件名称列表】:精通 Dojo.000 本文将深入探讨Dojo框架的核心概念和关键特性,帮助你精通这个强大的工具集。 ### 1. Dojo简介 Dojo 是一个开源的JavaScript工具包,始于2005年,旨在提供一站式的...

    dojo.js 1.4.2

    dojo.js 1.4.2dojo.js 1.4.2dojo.js 1.4.2dojo.js 1.4.2dojo.js 1.4.2dojo.js 1.4.2dojo.js 1.4.2

    DOJO 学习文档+Demo

    `dojo.fx.chain` 和 `dojo.fx.combine` 可以组合多个动画效果。`dijit/registry` 可以帮助操作 DOM 元素,配合动画效果实现更复杂的交互。 ### 6. DOJO 模板系统(Declarative 编程) DOJO 支持声明式编程,允许...

    dojo源码

    3. Dojo源码结构:Dojo的源码通常分为多个模块,如dojo/main、dojo/_base、dojo/dom、dojo/on等,每个模块负责不同的功能。例如,`dojo/main`是Dojo的核心入口点,`dojo/_base`包含基础功能,如事件处理和对象创建,...

    dojo相关详细资料

    Dojo的`dojo.fx`模块提供了多种动画效果,包括淡入淡出、滑动、缩放等。此外,还可以通过组合多个动画来创建复杂的过渡效果。 4. Dojo Base 深入理解: `dojo_base.doc` 可能详细阐述了Dojo的基础架构和设计原则。...

    dojo.js.uncompressed.js 1.4.2

    dojo.js.uncompressed.js 1.4.2dojo.js.uncompressed.js 1.4.2dojo.js.uncompressed.js 1.4.2

    EXT dojochina Ext类静态方法.rar

    5. **dojochina社区**:dojochina是中国的Dojo社区,它同样关注EXT框架,提供了很多EXT的教程、示例和讨论,帮助开发者深入理解和使用EXT。 综上所述,EXT dojochina Ext类静态方法的主题涵盖了EXT框架中类和静态...

    Dojo.js核心dojo的javaScript类库Dojo.js核心dojo的javaScript类库Dojo.js核心dojo的javaScript类库

    dojo.js.核心jsDojo.js核心dojo的javaScript类库Dojo.js核心dojo的javaScript类库Dojo.js核心dojo的javaScript类库Dojo.js核心dojo的javaScript类库

    dojo精品中文教程(包三)

    Dojo学习笔记-- dojo.event & dojo.event.topic & dojo.event.browser Dojo学习笔记--DateTextbox Dojo学习笔记--Dojo的基础对象和方法 Dojo学习笔记--FisheyeList鱼眼效果 Dojo学习笔记--TabContainer Dojo...

    最棒的AJAX框架DOJO中文手册

    Dojo 提供了 dojo.xhr 对象,用于简化AJAX请求。它支持GET、POST等多种HTTP方法,并可以处理JSON、XML、HTML等各种数据格式,同时提供了异步处理机制,增强了用户体验。 ### 2. Dojo Toolkit 的核心组件 - **dojo/...

Global site tag (gtag.js) - Google Analytics