jQuery 的时代已经过去?
共 2282字,需浏览 5分钟
·
2022-06-19 09:40
转自 | InfoQ
作者 | 褚杏娟
jQuery 是一套跨浏览器的 JavaScript 开源库,可以简化 HTML 与 JavaScript 之间的操作。
地址:https://github.com/jquery/jquery
此外,jQuery 还提供了一些开箱即用的函数来做动画 DOM 元素,而无需弄乱 CSS。在没有 jQuery 之前发出 AJAX 请求很麻烦,但使用 JQuery 只需几行代码即可完成。jQuery 提供了一个可以在大多数浏览器上工作的 API,这在当时使用 JavaScript 是很难实现的。
2006 年 jQuery 官网的样子:
今天,它在 GitHub 上共收获了 56.3K 的 Star✨ 共计 277 名贡献者,由一个庞大的志愿者团队 jQuery 基金会负责日常维护。
略显老态
但是,随着时间的推移 JavaScript 已经变得成熟了很多,它支持了许多新的 API,社区也构建了很多库来填补 jQuery 可能留下的任何空白。
现在,开发者几乎可以在原生 JavaScript 中做任何 jQuery 可以做的事情。例如:
用带有 querySelector 和 querySelectorAll 的 CSS 选择器语法来选择元素 用 classList API 在元素上添加、删除和切换类 用 addEventListener 将事件处理程序附加到 DOM 元素和窗口 等等
很多事情用原生 JavaScript 已经可以做的很好,所以大多数情况下已经不再需要 jQuery。
有网友评论道 “我个人发现普通的 JS API 和 fetch 甚至比 jQuery 的东西更干净。但人们仍然出于习惯使用 jQuery,是因为摆脱它需要做很多工作。”
同时随着 Angular、Vue 和 React 等框架的出现和流行,一直未有特别创新的 jQuery 更显“老态”。
更有网友直言:“对我来说,他们 (jQuery ) 就像是那个随着时代变迁,没有更新知识的老灰胡子。”
时代已经过去?
近期,英国公共部门信息网站 GOV.UK 宣布该公司删除了 jQuery 作为所有前端应用程序的依赖项,这意味着“JS 大小减少了 32 KB(31% ~49% 之间)”。
实际上,一些大型网站、开源项目等,都已经移除了对 jQuery 的依赖。
早在 2018 年,GitHub 已经宣布从 GitHub.com 的前端代码中完全移除了 jQuery。“早期,jQuery 对我们意义重大。”GitHub 前端工程团队在方式发布的文章里表示。“在 GitHub 的早期阶段,jQuery 让小型的开发团队能够快速进行原型设计并开发出新功能,而无需专门针对每个 Web 浏览器调整代码。”
但随着 GitHub 成长为一家拥有数百名工程师的公司,jQuery 带来的价值已经随着时间的推移而下降。比如技术债会随着依赖项的增多而增长,给企业带来很大的维护成本。因此,GitHub 最终决定删除 jQuery。不过,GitHub 没有选择另外的库或框架,而是使用标准的浏览器 API 来实现。
不只 GitHub,Bootstrap 最新版本也将删除 jQuery。
尽管被认为已经过时,但 jQuery 仍然是占主导地位的 JavaScript 库。今天的开发人员可能没有意识到在使用 jQuery,因为它被嵌入在了许多大型开源项目里面,其中最著名的就是 WordPress。
“大多数网站都不需要复杂的开发框架,它们大多是具有一些动态行为的静态网站,这种网站通常用 WordPress 编写。jQuery 在这个场景下仍然很流行,因为它既简单又有效,人们觉得没必要停止使用它。”jQuery 开发者 Micha Gobiowski-Owczarek 在接受外媒采访时说道。
Micha Gobiowski-Owczarek 也明确表示,为了不与浏览器冲突,jQuery 不会修改原生原型,而是用 jQuery 包装器对象包装 DOM 节点,每个操作都会创建一个新的包装器对象。大多数情况下,这并不重要,但对于具有大量 DOM 操作的、非常复杂的应用程序来说,可能会成为一个问题。
未来的很长一段时间里,jQuery 还继续会是 WordPress 的一部分,因为它很难在不破坏向后兼容性的情况下将它删除。但一些改变已经发生,如 WordPress 创建的 Gutenberg 编辑器不依赖于 jQuery。
随着时间的推移, WordPress 肯定会逐步更新技术,这是一个渐进的过程,jQuery 的最终去留也很难说。
但不可否认的是,jQuery 开源项目为前端技术做了很大的贡献,填补了历史的空白,成为了一代人的回忆。
我刚开始接触前端时就是 Bootstrap + jQuery 开源框架,用 jQuery 写 AJAX、选择器、操作 DOM,那时的我才大四,真是恍如隔世!
有网友评价说:“jQuery 完成了历史使命、jQuery 代表着青春!“
对此,你怎么看?欢迎在评论区留言。