最近,英国公共部门信息网站GOV.UK的前端开发负责人MattHobbs宣布,该公司删除了jQuery作为对所有前端应用程序,这意味着“在所有13个FE应用程序中,JS大小减少了32KB(介于31%和49%之间)。”部分关键指标得到优化Matt还在推特上分享了几组数据,显示去除jQuery后部分关键指标得到了优化。去掉pagetag限制,查看所有页面RUM数据,75%用户的页面有类似的下降:在75%的页面只检查Android用户,可以看到JS长任务有7%的提升:50%的用户'movementJSLongTaskson-device改进10%:95%的用户阻塞时间减少10%:“这些用户经历了严重不利的网络和设备条件,每一次性能改进对他们来说都特别重要,”Matt说。根据Matt的说法,删除jQuery的初衷是为了清理技术债务。“它最初是为了支持浏览器,但随着时间的推移,情况发生了变化,因此可以删除一些位。”我想在此之后会重新评估它,看看还有什么不再需要了。’马特说。“大多数东西不再需要jQuery”jQuery是一个跨浏览器的JavaScript库,它简化了HTML和JavaScript之间的工作。到2021年,将近84%的移动页面将使用jQuery。jQuery是最流行的JavaScript库之一,它的一些操作已经体现在标准的WebAPI中。JQuery创建于2006年,主要是为了帮助开发人员应对当时浏览器的不足。当年,在谷歌浏览器流行之前,人们都在为InternetExplorer苦恼。虽然JQuery开发人员可以使用CSS选择器和函数轻松地遍历和操作DOM,此外,JQuery还提供了一些开箱即用的函数来为DOM元素设置动画,而不会弄乱CSS。在使用jQuery之前,发出AJAX请求很麻烦,但是使用JQuery只需几行代码就可以完成。JQuery提供了一个适用于大多数浏览器的API,这在当时是很难用JavaScript实现的。但在过去的几年里,JavaScript已经成熟很多,支持许多新的API,并且它的社区已经构建了许多库来填补jQuery可能留下的任何空白。现在,开发人员几乎可以在原生JavaScript中做jQuery可以做的任何事情。例如,您可以使用带有querySelector和querySelectorAll的CSS选择器语法来选择元素,使用classListAPI添加、删除和切换元素上的类,使用addEventListener将事件处理程序附加到DOM元素和窗口,等等。同时,随着Angular、Vue、React等框架的出现和流行,一直以来并没有特别创新的jQuery显得更加“古老”。“对我来说,它们(jQuery)就像没有随着时代的变化更新知识的老白胡子。”有网友直言。“现在大多数事情都不再需要JQuery。”一位网友评论说,“我个人觉得普通的JSAPI和fetch比jQuery的东西更干净。人们仍然出于习惯使用jQuery,因为摆脱它需要做很多工作。”jQuery“死了”吗?近年来,业界一直在讨论jQuery是否已死。事实上,一些资金雄厚的大型网站已经“用脚投票”并逐渐摆脱jQuery。2018年,GitHub宣布从jQuery转移。“在早期,jQuery对我们来说意义重大,”GitHub的前端工程团队在Way发表的一篇文章中说道。“在GitHub的早期,jQuery使小型开发团队能够快速制作原型并开发新功能,而无需专门为每个Web浏览器调整代码。”但随着GitHub成长为一家拥有数百名工程师的公司,Companies,jQuery带来的价值随着时间的推移而下降。例如,技术债务会随着依赖的增加而增加,这会给企业带来大量的维护成本。因此,GitHub最终决定下架jQuery。但是,GitHub没有选择其他库或框架,而是使用标准浏览器API来实现它。不仅是GitHub,最新版的Bootstrap也会移除jQuery。尽管被认为已经过时,jQuery仍然是占主导地位的JavaScript库。今天的开发人员可能没有意识到他们正在使用jQuery,因为它嵌入在许多大型开源项目中,最著名的是WordPress。“大多数网站不需要复杂的开发框架,它们大多是带有一些动态行为的静态网站,通常用WordPress编写。jQuery在这个场景中仍然流行,因为它简单有效,人们认为没有必要停止使用它。”jQuery开发者MichaGobiowski-Owczarek在接受外媒采访时表示。MichaGobiowski-Owczarek也明确表示,为了不与浏览器冲突,jQuery不修改原生原型,而是用jQuery包装器对象包装DOM节点,每次操作都会创建一个新的包装器对象。大多数时候这无关紧要,但对于具有大量DOM操作的非常复杂的应用程序,它可能成为一个问题。jQuery将在未来很长一段时间内继续成为WordPress的一部分,因为在不破坏向后兼容性的情况下很难将其删除。但是也发生了一些变化,比如WordPress创建的不依赖于jQuery的Gutenberg编辑器。随着时间的推移,WordPress肯定会逐渐更新其技术。这是一个循序渐进的过程,很难说jQuery最终会停留在哪里。但不可否认的是,jQuery对前端的影响是巨大的。
