写点什么

争论:Prototype 与 jQuery

  • 2009-01-24
  • 本文字数:1395 字

    阅读完需:约 5 分钟

由于 Ajax 已经统治了 Web 开发中的客户端,人们不禁要问“哪个 JavaScript/Ajax 框架才是最好的”。最近 Glenn Vanderburg 撰写了一篇 Prototype jQuery 比较的文章,这引发了业界专家 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 指出这场争论并没有考虑到其他优秀的框架、库和工具集,如 Dojo YUI GWT MooTools Ext JS SproutCore 等等。

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

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

2009-01-24 01:037541
用户头像

发布了 88 篇内容, 共 268.4 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

车间工厂看板还搞不定,数据可视化包教包会

葡萄城技术团队

数据可视化 看板 智能工厂

“鸿蒙开发套件”焕新升级 端到端赋能助力开发运维事半功倍

最新动态

PGL图学习之项目实践(UniMP算法实现论文节点分类、新冠疫苗项目实战,助力疫情)[系列九]

汀丶人工智能

图神经网络 图学习 11月月更 论文节点分类任务 新冠疫苗任务

降本增效的背后,谈谈阿里云存储数据湖3.0

云布道师

数据湖 云存储 云栖大会

String、StringBuffer、StringBuilder 有什么区别

共饮一杯无

Java string 11月月更

DNS中有哪些值得学习的优秀设计

小小怪下士

Java 程序员 DNS

这可能是最全的SpringBoot3新版本变化了!

艾小仙

Java spring could spring-boot

Java中的拆箱与装箱

共饮一杯无

Java 11月月更 装箱与拆箱

异常的基本概念和Java中的体系

共饮一杯无

Java 异常 11月月更

一次MTU问题导致的RDS访问故障

京东科技开发者

数据库 Linux MTU RDS vpn

Java中的StringBuilder类

共饮一杯无

Java StringBuilder 11月月更

ITSM | 对话——从业务场景、中国市场策略角度解读Atlassian ITSM解决方案

龙智—DevSecOps解决方案

ITSM ITIL

深度 | 新兴软件研发范式崛起,云计算全面走向 Serverless 化

Serverless Devs

阿里云 Serverless

高效!启科量子线路模拟器 QuSprout 与 Amazon HPC 集成,赋能量子计算

亚马逊云科技 (Amazon Web Services)

量子计算 Hero 专栏

四项发明专利布局国际市场 申威睿思层级化数据库操作加速系统和方法获肯定

科技热闻

A/B测试有哪些常见应用场景?——火山引擎DataTester科普

字节跳动数据平台

大数据 AB testing实战

无情!阿里技术专家手写《微服务架构笔记》,瞬间屠榜NO.1

程序知音

Java 微服务 java架构 后端技术

FastJSON2他来了,性能显著提升,还能再战十年

共饮一杯无

Java Fastjson 11月月更

软件测试自动化“领导者”SmartBear举办首场中国线上研讨会:洞悉全球自动化测试走向,探讨降本增效之策

龙智—DevSecOps解决方案

自动化测试 API测试 UI测试 软件测试自动化

东莞理工学院-网安学院举办第二届“火焰杯”软件测试高校就业选拔赛颁奖典礼

测试人

软件测试 自动化测试 测试发开 测试比赛

JVM 核心知识体系

钟奕礼

Java java面试 java编程 程序员‘

技术指南 | 如何集成Perforce版本控制系统Helix Core (P4V) 与敏捷规划工具Hansoft

龙智—DevSecOps解决方案

敏捷 版本管理

观察者模式在spring中的应用

京东科技开发者

Java spring 编程 观察者模式

Spring6正式发布!重磅更新,是否可以拯救Java

宋小生

代码质量与安全 | 使用Incredibuild加速Klocwork静态代码分析

龙智—DevSecOps解决方案

代码静态分析 SAST工具 SAST 编译器 加速器 编程语言

从零开始学习Java系列之Java运行机制与跨平台特性

千锋IT教育

单体分层应用架构剖析

京东科技开发者

架构 模块 应用架构 服务层 业务层

2022中国区Cyber Monday限时优惠来袭,Linux基金会开源软件学园带来优惠

kk-OSC

k8s Linux基金会 CKA CKS

《鸿蒙生态应用开发白皮书》正式发布,携手更多开发者迈入鸿蒙世界

最新动态

《鸿蒙生态应用开发白皮书》正式发布,携手更多开发者迈入鸿蒙世界

最新动态

即时通讯技术文集(第7期):长连接网关、P2P等 [共10篇]

JackJiang

网络编程 IM 即时通讯IM

争论:Prototype与jQuery_Java_Dio Synodinos_InfoQ精选文章