InfoQ

InfoQ

新闻

我的书签

登录注册 以永久保存书签。

该内容已经被标记书签!

标记书签错误,请重试!

争论:Prototype与jQuery

作者 Dionysios G. Synodinos 译者 张龙 发布于 2009年1月24日

领域
企业架构,
架构 & 设计,
语言 & 开发
主题
jQuery ,
Ruby ,
JavaScript ,
Java ,
动态语言 ,
.NET ,
语言 ,
AJAX ,
Web 2.0 ,
原型 ,
编程 ,
企业架构 ,
RIA

由于Ajax已经统治了Web开发中的客户端,人们不禁要问“哪个JavaScript/Ajax框架才是最好的”。最近Glenn Vanderburg撰写了一篇PrototypejQuery比较的文章,这引发了业界专家Douglas Crockford和Dion Almaer的不同回应

Glenn Vanderburg首先谈到其专业的JavaScript经验并解释到他缘何有机会使用这两个框架

就像大多数从事Rails开发的程序员一样,我也非常熟悉Prototype库。甚至在其集成到Rails之前,它就是我的首选。在开始使用Prototype之前,我就已经 非常 精通 JavaScript了,同时我也欣喜的看到Prototype库弥补了JavaScript语言中的很多缺陷。此外,我已经使用Ruby开发好几年了,Prototype的哲学非常自然,显然它从Ruby中获得了不少灵感。

但我了解到有越来越多的人在为jQuery唱颂歌。我大略的看过jQuery,它给我留下了深刻的印象,然而却没有找到充分的理由让我转投jQuery。但jQuery的狂热者中竟然有我很尊重的人,包括(过去几个月中)在Relevance的 同事

现在我正从事着两个不同的项目,他们都使用了jQuery。我与一些经验丰富的jQuery使用者一起工作,这的确增强了我对jQuery的理解和认识程度。工作中有很多JavaScript相关的事情需要处理,有简单的,也有复杂的,因此我有机会感受使用jQuery的幸福,同时也看到了其发展方式。

他继续详尽的论述了Prototype的优缺点:

我认为Prototype还是优于jQuery,这一点并没有改变。当然jQuery还可以继续改进,其设计还有突破的可能(对于这个方面,我认为jQuery所缺失的一些特性都可以插件的形式补充进来)。但遗憾的是,如果不破坏兼容性就无法修复jQuery API的一些缺陷,而这一点在下一个版本中依然还是个未知数。

但至少Prototype还可以独善其身。无论对于我还是对于其他使用者来说,Prototype依然是JavaScript库的首选。

Glenn Vanderburg的论调遭到了Douglas Crockford(Yahoo高级JavaScript架构师,JSON之父)的反对,Douglas Crockford对jQuery偏爱有加

尽管一些评论家认为存在一小撮对jQuery无知的人是正常的,但我认为Glenn的论调并不可信。作为一个后起之秀,jQuery从Prototype中汲取了很多内容,为我们带来了一个很棒的表达式语言模型。但错误还是出现了,jQuery的突然流行使得这些错误的修复不太可行了。显然jQuery社区采取了包容的态度,而Glenn却没有。John Resig是个聪明的家伙,我能想象到当他无法修复这些问题时是多么的沮丧啊。也许他现在知道Brendan的感受了。

来自Mozilla的Dion Almaer对此却不敢苟同,他认为jQuery更适合自己的口味

暂且放下其他事情不谈(如团队技巧,项目情况等等),我认为:
  • 如果要构建动态的Web站点,用jQuery没错。简单、优雅、漂亮。如果我是一个设计者,我也会使用它的。
  • Dojo对于大型、需要编写大量JavaScript的应用来说是上佳之选。你需要的任何东西Dojo都有。但这并不是说小型应用就不能使用Dojo了。其新的核心足够小、足够快、足够好。

我认为对于这两种情况来说Prototype都适合。它既适合小型应用(无需学习大量的库),也适合大型项目,这样我自己就无需编写大量代码了。

当然了,Dion指出这场争论并没有考虑到其他优秀的框架、库和工具集,如DojoYUIGWTMooToolsExt JSSproutCore等等。

你认为哪个才是最好的Ajax框架呢?

查看英文原文:Debate: Prototype vs. jQuery

译者 张龙 热衷于编程,乐于分享,对新技术有强烈的探索欲,对Java轻量级框架有一定研究。

  • 本文所属的特别专题为 RIA
还是喜欢JQuery 发表人 Shixing Liang 发表于
个人喜好问题,不喜于“争论” 发表人 Sun Peng 发表于
报错 发表人 刘江 图灵 发表于
  1. 返回顶部

    还是喜欢JQuery

    发表人 Shixing Liang

    还是喜欢JQuery

  2. 返回顶部

    个人喜好问题,不喜于“争论”

    发表人 Sun Peng

    个人喜好问题,不喜于“争论”

  3. 返回顶部

    报错

    发表人 刘江 图灵

    从下文逻辑上判断,“来自Mozilla的Dion Almaer对此却不敢苟同,他认为jQuery更适合自己的口味”中jQuery显然是Prototype之误。

    人家的blog更是名为“Why I often prefer Prototype too”。