GOV.UK 从其前端中移除了 jQuery 依赖项。您永远猜不到发生了什么。(是的,您会。)
jQuery 是一个大约 30 KiB 的依赖项,2021 年有近 84% 的移动网页使用了它,这并非没有道理。在当时,我们需要一种方法来编写交互脚本,以平滑处理事件处理、选择元素、动画元素等方面的不同实现,而 jQuery 正是这样一种不可或缺的工具。
jQuery 让网络变得更出色,这不仅是因为它具有如此出色的实用性,还因为它的普及促使它所提供的功能成为网络平台本身的一部分。如今,我们可以在 Vanilla JavaScript 中轻松完成 jQuery 可以完成的几乎所有操作:
- 我们可以使用带有
querySelector
和querySelectorAll
的 CSS 选择器语法来选择元素。 - 我们可以使用
classList
API 在元素上添加、移除和切换类。 - 我们可以使用
addEventListener
将事件处理脚本附加到 DOM 元素、document
和window
。 - 还有很多很多。
这不禁让人发问:我们今天真的需要 jQuery 吗?GOV.UK 对此问题的回答是响亮的“否”。2022 年 3 月,Matt Hobbs 宣布 GOV.UK 已移除其 jQuery 依赖项。就用户体验而言,这非常重要,因为 GOV.UK 可大规模地为英国提供在线服务和信息。并非所有人都使用 2022 年款 MacBook Pro 通过高速宽带连接来操作。GOV.UK 必须面向所有人提供无障碍服务,这意味着要保持精简。
以下是 Matt Hobbs 针对 GOV.UK 在移除 jQuery 时发现的问题总结的一些精彩观点:
- 总体上缩短了前端处理时间。
- 第 75 百分位数的阻塞时间缩短了 11%。
- 对于第 95 百分位的用户,阻塞时间缩短了 10%。这些用户会遇到非常不利的网络和设备状况,因此任何性能提升对他们来说都尤为重要。
如需了解完整故事,请查看 Matt 的信息丰富的 Twitter 帖子。对于网络性能发烧友来说,这是一篇很棒的文章,它有力地说明了依赖项对于性能至关重要。如果 Web 平台可以轻松完成框架可以完成的工作,请不要让用户失望。
像 GOV.UK 这样规模的机构能如此致力于提升用户体验,实属难能可贵。我只希望其他人能效仿他们的做法。