BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

争论:Prototype与jQuery

| 作者 Dio Synodinos 关注 3 他的粉丝 ,译者 张龙 关注 12 他的粉丝 发布于 2009年1月25日. 估计阅读时间: 4 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

由于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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

还是喜欢JQuery by Shixing Liang

还是喜欢JQuery

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

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

报错 by 刘江 图灵

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

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

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

3 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT