写点什么

jQuery 4.0.0 现已发布 beta 版:全球 7800 万网站该面临升级了?

  • 2024-02-23
    北京
  • 本文字数:2057 字

    阅读完需:约 7 分钟

大小:1005.90K时长:05:43
jQuery 4.0.0现已发布beta版:全球7800万网站该面临升级了?

2 月 6 日,jQuery 核心团队负责人 Timmy Willison 宣布,jQuery 4.0.0 现已发布 beta 版。

jQuery 4.0.0 已经开发了很长时间,如今终于准备好推出 beta 版本!新版本有不少内容值得介绍,我们也很高兴迎接它的到来。除了 bug 修复和性能改进之外,4.0.0 还做出了一系列重大调整。

我们裁剪掉遗留代码,删除了部分已被弃用的 API,还去掉了不少从未对外公开、仅供内部使用的公共函数参数,同时不再支持某些过于复杂的“神奇”操作。

 

本文将向大家简单介绍这些变更。先从最重要的入手:放弃对 IE10 及更早版本的支持。jQuery 团队原本计划在微软于 2022 年结束支持后放弃 IE11,但最终又决定将计划延后至 v5,以避免 v4 版本出现更多问题。

 

即将发布的新版本将使用 ES 模块,并将打包方案从 RequireJS 切换至 Rollup。新版本还删除了 13 项已被弃用的函数,这些函数“要么长期仅对内部开放,要么已经在所有受支持浏览器上均已有等效替代选项”。

 

jQuery:全球 7800 万网站的共同选择

 

此次公告的一大重要主题,就是全面遵循各种现代浏览器行为与规范。事实上,自 2006 年 1 月 jQuery 诞生以来(当时 IE 还占全球九成市场份额 ),网络浏览器已经取得了长足的进步,前端开发也掀起一波旷日持久的竞争。

 

现如今,99.84%的浏览器均已支持 ES6、提供大量效果良好的 Web API 还迎来了 CSS 的强大升级(允许我们使用 WebAssembly 在浏览器中运行成熟 WordPress 实例)——至少不再需要依赖 1.25 MB 的 DOM 操作库了。

 

或者用一位 Reddit 用户的话说:

看看,jQuery 简直是不可思议。它以难以置信的方式改变了 JS,给 JS 开发者带来了前所未有的改变。它如此创意满满,JS 社区和 TC39 实现了很多 jQ 以往根本做不到的事。jQ 的最大目标就是制定标准和改进 JS 语言,它做到了,而现在也是时候退出历史舞台了。

 

从在线统计数据来看,这种说法显然很有道理。jQuery 可能已经成了前端领域最不招人疼的孩子,但可观的市场份额却足以让其他时髦框架相形见绌。

 

从 NPM 看,jQuery 3.7.1 发布于 2023 年 8 月,每周下载量超过 900 万次,相应依赖包更是超过 20k。

 

BuiltWith 指出目前全球超 7800 万网站在使用 jQuery,而 W3Techs 报告称“据我们所知,全部 JavaScript 库网站中有 94.4%使用 jQuery,在所有网站中占比 77.1%。”

 

源远流长

jQuery 之所以能够长期流行,主要原因之一就是它对生态系统的卓越贡献。具体来讲,它被捆绑在 WordPress Core 当中,成为了众多主题与插件的固定组成部分。

 

WordPress 采用基于 React 的 Gutenberg,降低了对 jQuery 的依赖。在 Willison 做出题为《JavaScript 之于现代 WordPress 开发》(https://wordpress.tv/2024/02/13/developer-hours-javascript-for-modern-wordpress-development/)演讲一周后的 Developers Hours 开发者会议上,Automattic 开发倡导者 Ryan Welcher 和 Nick Diego 花了一个多小时深入讨论 JS 工具和技术如何构建块和编辑器扩展,但却一次都没有提到过 jQuery。

 

在 2021 年 10 月在 Make Themes 博客上发表的文章中,核心贡献者 Felix Arntz 甚至敦促开发者们放弃 jQuery 以提高性能。

 

尽管如此,在 Willison 宣布 jQuery 新版本的当天,TRAC 还是率先报道了这一消息,并提问“WordPress 核心团队期待这次更新吗?”Automattic 首席开发者 Andrew Ozz 立马回复,“当然:)”

 

作为在 CMS 市场上占比高达 43%的巨头,WordPress 的肯定无疑是给 jQuery 续命的万能灵药。

 


WordPress Tavern 上次介绍 jQuery 还是在 2020 年,当时 jQuery Migarte 1.4.1 被从 WordPress 5.5 中删除,并引发不少主题和插件失效。

 

WordPress 核心团队的 Enable jQuery Migrate Helper 插件专为解决这次问题而推出,时至今日仍在继续维护,并拥有 10 万活跃安装量。用户们普遍反响不错,表示这东西确实有效。可这也不禁让我们要问,现在已经是 2024 年了,为什么构建 WordPress 网站还需要借助这样一个“作为临时解决方案的插件,为的就是让插件和主题作者们能继续拖着不更新和测试自己的代码?”

 

推动 Web 向前发展的开拓者

 

也许答案就在 W3Techs 上一条令人震惊的评论当中。目前,使用 jQuery 的网站中仍有三分之一运行着 3.x 甚至更早(3.0.0 发布于 2016 年 6 月)版本。

 

这样的结果与 OpenJS 基金会及 IDC 于 2023 年 11 月开展的一项小范围研究也对得上。在 509 名调查受访者中,有 89%确认自己在使用 jQuery,其中 56%表示部署的是旧版本,其中有些版本甚至不再维护。

 

开源与标准化专家 Tobie Langel 在 W3C 的 Secure the Web Forward 研讨会上发表讲话,认为“jQuery 巨大的影响力和长久的生命力”使其处于独特的市场地位:如果捍卫 jQuery 就是捍卫 Web,那么 jQuery 也许会再一次迸发出新的生机,以开拓者的姿态继续推动 Web 向前发展。

人们已经在为此而努力:2022 年 10 月,开源安全基金会(OpenSSF)的 Alpha-Omega 项目向 jQuery 授予了 35 万美元的资助,旨在“帮助其用户并推动代码现代化,从而缓解 jQuery 的潜在安全问题。”

 

而且在 Linux 基金会、微软、谷歌、亚马逊等行业巨头的支持下,以及由 GoDaddy、IBM、Joyent 和 Sovereign Tech Fund 支持的 OpenJS 基金会的推动下,jQuery 似乎已经呈现出复苏的迹象。

 

原文链接:

https://wptavern.com/look-whos-back-jquery-4-0-0-is-now-in-beta

 

2024-02-23 13:496925

评论

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

Norns.Urd 中的一些设计

八苦-瞿昙

C# 随笔 随笔杂谈 aop

话题讨论 | 对于懂得编程的人来说,编程对你来说有什么乐趣?编程大概是什么感觉?

xcbeyond

话题讨论

密码学系列之:明文攻击和Bletchley Park

程序那些事

加密解密 密码学 程序那些事 明文攻击

roblox mini map

katichar

LeetCode题解:102. 二叉树的层序遍历,BFS,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

Java并发编程:进程、线程、并行与并发

李尚智

Java并发

架构词典:质量

lidaobing

架构 质量管理

在构造函数中调用其它构造函数会有什么问题吗?

jiangling500

Java c++ C++11 构造函数

分布式时序数据库DolphinDB与InfluxDB对比测试报告

DolphinDB

数据库 大数据 Influxdb 性能测试 DolphinDB

可见性是什么?(通俗易懂)

叫练

volatile JMM 多线程 synchronized

学习笔记3

Qx

区块链打破数字医疗桎梏,赢数据未来新生

CECBC

区块链 医疗

区块链技术生态持续优化,五大趋势不容忽视

CECBC

区块链 场景应用

架构师训练营第十二周作业

我是谁

极客大学架构师训练营

第四章作业

走走,停停……

摄像机不智能,基本等于不讲武德

脑极体

GO 训练营第 3 周总结

Glowry

Mock | 拦截ajax的两种实现方式

梁龙先森

Java 大前端

只谈链不谈币,区块链会发展成什么样的方向?

CECBC

区块链

Spock单元测试框架实战指南五 - void方法测试

Java老k

Java 单元测试 spock

Flutter技术在会展云中大显身手

京东科技开发者

flutter 跨平台 移动开发

架构作业--大数据

Nick~毓

最值得Deepin的思维模型“组合创新” | 技术人应知的创新思维模型 (3)

Alan

创新 思维模型 28天写作

话题讨论 | 说说那些"Oh my god"的时刻

Kurtis Moxley

话题讨论

有钱还APP系统开发|有钱还软件开发(现成)

系统开发

C++typename的由来和用法

良知犹存

c++

为什么删除数据后,Redis内存占用依然很高?

Java架构师迁哥

如何使用 JuiceFS 在云上优化 Kylin 4.0 的存储性能?

苏锐

大数据 kylin 性能优化 JuiceFS

生产环境全链路压测建设历程第四篇 技术体系的发力

数列科技杨德华

为什么要有 Servlet ,什么是 Servlet 容器,什么是 Web 容器?

yes

tomcat Web Servlet

第三周作业

走走,停停……

jQuery 4.0.0现已发布beta版:全球7800万网站该面临升级了?_架构/框架_Ronny Shani_InfoQ精选文章