jQuery已“死”?为清除技术债,我们删掉了前端所有jQuery依赖

2022-11-30 0 726

译者 | 褚杏娟

上周,爱尔兰私营部门关键信息中文网站 GOV.UK 后端开发顾问 Matt Hobbs 正式宣布该子公司删去了 jQuery 做为大部份后端插件的倚赖项,这意味著“在大部份 13 个 FE 插件中,JS 大小不一增加了 32 KB(31% ~49% 间)”。

jQuery已“死”?为清除技术债,我们删掉了前端所有jQuery依赖

许多关键性分项获得强化

Matt 也在twitter上撷取了几段统计数据,说明了在删去 jQuery 后许多关键性分项获得了强化。

去除网页条码管制并查阅大部份网页 RUM 统计数据, 75% 使用者的网页都有类似于的上升:

jQuery已“死”?为清除技术债,我们删掉了前端所有jQuery依赖

在 75% 的网页中仅检查 Android 使用者,能看见 JS 长各项任务改良了 7%:

jQuery已“死”?为清除技术债,我们删掉了前端所有jQuery依赖

50% 使用者的终端电子设备上的 JS Long Tasks 有 10% 的改良:

jQuery已“死”?为清除技术债,我们删掉了前端所有jQuery依赖

而对 95% 使用者,堵塞天数则增加了 10% :

jQuery已“死”?为清除技术债,我们删掉了前端所有jQuery依赖

“那些使用者会碰到轻微有利的互联网和电子设备前提,每一次操控性提高对她们而言特别关键。”Matt 写道。

根据 Matt 说法,删去 jQuery 的本意是清理控制技术债。“它最初是为了支持浏览器而存在的,但随着天数的推移,情况发生了变化,所以 bits 能被删去。我想在这之后会重新评估,看看还有什么是不再需要的。” Matt 表示。

“大多数事情都不再需要 jQuery 了”

jQuery 是一套跨浏览器的 JavaScript 库,能简化 HTML 与 JavaScript 间的操作。截至 2021 年,有将近 84% 的终端网页使用 jQuery。jQuery 是最受欢迎的 JavaScript 库之一,它的许多操作已经反映在标准 Web API 中。

JQuery 创建于 2006 年,主要是为了帮助开发者处理当时浏览器的不足。当时谷歌浏览器还未流行,人们饱受 Internet Explorer 之苦。而 JQuery 开发者能使用 CSS 选择器和函数能轻松地遍历和操作 DOM,

此外,JQuery 还提供了许多开箱即用的函数来做动画 DOM 元素,而无需弄乱 CSS。在没有 jQuery 之前发出 AJAX 请求很麻烦,但使用 JQuery 只需几行代码即可完成。JQuery 提供了一个能在大多数浏览器上工作的 API,这在当时使用 JavaScript 是很难实现的。

但在过去的几年里,JavaScript 已经成熟了很多,它支持很多新的 API,其社区也构建了很多库来填补 jQuery 可能留下的任何空白。

现在,开发者几乎能在原生 JavaScript 中做任何 jQuery 能做的事情。例如,能使用带有 querySelector 和 querySelectorAll 的 CSS 选择器语法来选择元素,使用 classList API 在元素上添加、删去和切换类,使用 addEventListener 将事件处理程序附加到 DOM 元素和窗口等等。

同时随着 Angular、Vue 和 React 等框架的出现和流行,一直未有特别创新的 jQuery 更显“老态”。“对我而言,她们 (jQuery ) 就像是那个随着时代变迁没有更新知识的老灰胡子。”有网友直言。

“现在,大多数事情都不再需要 jQuery 了。”有网友评论道,“我个人发现普通的 JS API 和 fetch 甚至比 jQuery 的东西更干净。人们仍然出于习惯使用 jQuery,是因为摆脱它需要做很多工作。”

jQuery 已“死”?

近几年,业内对“jQuery 是否已死”的讨论一直没停过。实际上,许多大型、资金充足的中文网站已经“用脚投票”,正在逐渐摆脱对 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 为后端带来了重大的影响。

参考链接:

https://thenewstack.io/why-outdated-jquery-is-still-the-dominant-javascript-library/

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务