论坛首页 Web前端技术论坛

[翻译]Ext vs. Dojo

浏览 29303 次
该帖已经被评为良好帖
作者 正文
   发表时间:2007-07-10  
你是否觉得人们似乎习惯了人云亦云而忽视了这样一个事实即只有用户才有最终的发言权。如论如何请把文本看完,我相信作者的独到观点很值得大家思考。原文: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从社区赢得了尊重,他不是靠谈论他的工作,而是努力制造用户喜欢的最优质的库。
   发表时间:2007-07-10  
Ext的反击来了,吼吼。。。
0 请登录后投票
   发表时间:2007-07-10  
初次印象,Ext非常优秀。
0 请登录后投票
   发表时间:2007-07-10  
ext始终没有机会用于正式的项目中,但它确实是我所见过最协调的js lib。
0 请登录后投票
   发表时间:2007-07-10  
不错 坚定了我的信心 我们正准备用这套库~
0 请登录后投票
   发表时间:2007-07-10  
需要大型库用ext,需要小型库用jQuery
0 请登录后投票
   发表时间: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会成为一种理想的选择。
1 请登录后投票
   发表时间:2007-07-11  
zerozone这篇文章写得真好!从用户的角度Dojo确实非常不人道。
从政治上Dojo一直就是根红苗正,受到大厂商和很多书籍作者的多方支持。成果也显著,从体形上就可以看出来。查一查目录和手册你发现你要用的都有了,可是等你用的时候你会发现大部分问题多多,等你准备等待修改的时候,你发现API变化了……所以说非常不人道。只有政治支持,和伟大的目标还不够,也要体恤民情呀。
Ext是典型的天才的产物!会很火的,要认真跟上。当然用之前也要考虑你是否用Widget来构建你的应用,因为Ext是以它的Widget见长的。
0 请登录后投票
   发表时间:2007-07-11  
to Tin:
不过话说回来,其实也确实需要有Dojo这样全面的开源组件库。就看他们今年之内能不能打一个翻身仗了,要么凤凰涅磐,要么被打入十八层地狱。

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

BTW:你们新的邮箱系统的交互设计做的不错,比去年的版本强多了,可见花了很多心思。
1 请登录后投票
   发表时间:2007-07-12  
2个都我都喜欢,但不能听sjivan的一面之词,他对ext也比较偏爱,从他开发GWT-Ext这个wrapper就可以看出来。不可否认他自己不正在走宣传ext之路吗?
其实dojo0.9速度方面确实是优势,jquery不在1.1.3出来的时候也在宣扬提升8倍速度之优势吗?难道dojo的alex就不能说说?
EXT的作者确实是一个kind person。但个人觉得dojo比ext更具王者风范!:)

0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics