写点什么

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

  • 2022-05-20
  • 本文字数:2114 字

    阅读完需:约 7 分钟

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

近期,英国公共部门信息网站 GOV.UK 前端开发主管 Matt Hobbs 宣布该公司删除了 jQuery 作为所有前端应用程序的依赖项,这意味着“在所有 13 个 FE 应用程序中,JS 大小减少了 32 KB(31% ~49% 之间)”。



一些关键指标得到优化


Matt 也在推特上分享了几组数据,说明了在删除 jQuery 后一些关键指标得到了优化。


  • 移除页面标签限制并查看所有页面 RUM 数据, 75% 用户的页面都有类似的下降:



  • 在 75% 的页面中仅检查 Android 用户,可以看到 JS 长任务改进了 7%:



  • 50% 用户的移动设备上的 JS Long Tasks 有 10% 的改进:



  • 而对于 95% 用户,阻塞时间则减少了 10% :



“这些用户会遇到严重不利的网络和设备条件,每一次性能提升对他们来说尤其重要。”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/


好文推荐


独家专访字节跳动开源委员会:定位“资源中台”,不会为开源设立强KPI


让企业胆战心惊的GPL官司:新裁决是开源许可历史上的重要转折点


我在产品上线前不小心删除了7 TB的视频


英伟达终于开源GPU内核模块代码,网友:难以置信


2022-05-20 14:343642

评论

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

中移“校企行”专项行动即将开赛,你准备好了吗?

创业邦

高可用 | Xenon 实现 MySQL 高可用架构 常用操作篇

RadonDB

MySQL 数据库 RadonDB

IDC:2021年全球大数据和分析支出预计达2157亿美元

BeeWorks

阅读

云小课|细数那些VMware虚拟机的恢复招式

华为云开发者联盟

vmware 云小课 云备份 VMware恢复 恢复数据

服务器运维是什么意思?日常工作包含哪些?

行云管家

运维 服务器 IT运维 服务器运维

filecoin今日价格行情?fil币能涨到1万一枚吗?

区块链 分布式存储 fil币价格预测? filecoin挖矿 filecoin价格行情

fil矿机组装教程是什么?fil矿机算力单位有哪些?fil矿机冗余是什么?

fil矿机组装教程是什么 fil矿机算力单位有哪些 fil矿机冗余是什么

再启动!零代码第四期训练营报名开放中

明道云

Erda 系列 Meetup「成都站」携手SOFAStack 和你聊聊云原生基础设施建设那点事儿

尔达Erda

开发者 云原生 活动 技术人

国资云横空出世,云上安全监管再加码

行云管家

云计算 数据安全 企业上云 国资云

波场链DAPP智能合约系统搭建|波场链DAPP开发

Geek_23f0c3

DAPP智能合约交易系统开发 波场DAPP 波场链DAPP开发

一周信创舆情观察(8.23~8.29)

统小信uos

如何使用 Redis 实现后台房间的数据管理?

ZEGO即构

redis 架构 音视频

如何采购ARM六核RK3399安卓工控开发主板?

双赞工控

安卓主板 工控主板 rk3399主板

第一波场DAPP系统搭建,DAPP介绍

合肥艾数199四②43⑧797

Android ABI

Changing Lin

9月日更

学习笔记20210903(python测试类,贝叶斯定理)

姬翔

9月日更

华为云IoT如何连接边缘和云,实现海量IoT数据就地处理的技术实践

华为云开发者联盟

IoT 边缘 IoT边缘 实时数据 IoT Edge

拥抱开源,云智慧发布AIOps社区

BeeWorks

阅读

BaikalDB在大规模数据场景的挑战和实践

百度开发者中心

最佳实践 方法论 存储系统

企业级即时通信市场能否告别“孤岛时代”?

BeeWorks

移动数字化底座 企业即时通讯平台 移动数字化平台 即时通讯IM 移动办公

敏捷团队的最佳测试实践:自动化金字塔

禅道项目管理

测试 自动化测试

爱奇艺本地实时Cache方案

爱奇艺技术产品团队

分布式 高并发 cache

投资filecoin的最佳选择是?Filecoin挖矿的是如何月入上万的?

区块链 分布式存储 IPFS filecoin挖矿 投资filecoin

开源应用中心|这款漂亮的国产开源论坛系统,放着不用太可惜!

开源软件

电信运营商基于 MQTT 协议构建千万级 IoT 设备管理平台

EMQ映云科技

物联网 IoT mqtt 通信运营商 emq

Dogfooding-爱奇艺移动端后台灰度环境优化实践

爱奇艺技术产品团队

测试 开发 灰度发布

聊聊什么样的代码是可读性强的代码?

卢卡多多

代码质量 代码 9月日更

全球教育行业机构遭受的攻击增长了 29%

BeeWorks

阅读

携手伙伴,共赴星海-百度飞桨应急行业AI私享会成功举办

百度大脑

人工智能 飞桨

值钱的数据放在云上安全吗?怎样才能保障其安全性?

行云管家

网络安全 信息安全 数据安全 企业上云

jQuery已“死”?为清除技术债,我们删掉了前端所有jQuery依赖_语言 & 开发_褚杏娟_InfoQ精选文章