关注「索引目录」公众号,获取更多干货。
人人都喜欢宣称 jQuery 已死。
然而——到了 2025 年,它依然存在。它没有在任何会议上大放异彩,也没有登上 npm 排行榜榜首……
但它却在W3Techs 排名前 100 万的网站中约 78% 的网站以及数亿个网站中默默地运行着。
所以,真正的问题或许不是“为什么 jQuery 仍然活跃?”,
而是:
为什么我们期望旧代码会因为我们找到了更酷炫的新代码编写方式而消失呢?
时隔五年,我重返会议讲台。11月19日,我将在JS Poland大会上发表关于将传统前端系统迁移到现代架构的实用策略的演讲。
为了配合这次演讲,我将发布一系列关于遗留代码、重构和增量迁移的短文——这是该系列的第一篇。
如果你会到场,欢迎打个招呼——我总是很乐意听听关于遗留代码的精彩故事🛠️。
jQuery 不是“处于活动状态”——它只是已安装。
jQuery 并没有赢得前端之争。
它几年前就已经完成了这一目标,并已投入生产环境,现在正处于长期维护模式……
就像COBOL在金融系统中的作用一样。
没有人愿意重写旧的 COBOL 银行后端程序——但他们也不能直接删除它。
jQuery 也一样,只是它是为 Web 设计的。
🧠 误解:“现代 JavaScript 扼杀了 jQuery”
是的——浏览器终于跟上了。
// jQuery
$('#btn').on('click', () => $('#box').addClass('active'));
// Modern JS
document.querySelector('#btn').addEventListener('click', () => {
document.querySelector('#box').classList.add('active');
});
原生 DOM API 最终几乎可以解决所有以前需要 jQuery 来解决的问题。
✅ 查询选择器
✅ 类操作
✅ 事件绑定
✅ AJAX → fetch()
✅ 动画 → CSS + Web 动画 API
那么,为什么 jQuery 仍然无处不在呢?
因为弥补过去的损失远比建设未来的成本高得多。
🧱 令人不快的真相:重构并不能带来收入
大多数 jQuery 代码并不“糟糕”。
它们只是老旧、混乱、以 DOM 为先,而且不可能一次性安全地替换掉。
真正的阻碍因素:
|
|
|
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
从商业角度来看,这其实很简单:
“重写 jQuery 能带来新的收入吗?”
不能。它只会减少技术债务。
而债务只有在造成损失时才会被偿还。
📊 数据核查:框架的消亡速度比遗留代码更快
|
|
|
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
框架来来去去:
AngularJS(已死)、Backbone(奄奄一息)、Ember(勉强维持)、Meteor(还记得它吗?)。
jQuery?
没有发展,也没有流行,
只是默默地运行在生产服务器上,为赚钱的代码提供支持。
🧑🎓 2025年,大三学生应该学习jQuery吗?
简而言之:不。不建议作为入门
工具。你不会通过学习过时的医疗程序来学习医学。
jQuery 不教:
-
成分 -
反应性 -
国家管理 -
捆绑器 -
SSR/水合作用 -
可扩展架构
它教的是DOM脚本编写。而那已经不是现代前端开发的内容了。
🧑💼 老年人应该了解 jQuery 吗?
是的,绝对可以。
不是要写出来,而是要安全地删除它。
一个资深开发者如果看不懂遗留代码,那他只是个 React 开发者,而不是软件工程师。
你的工作不是去创造崭新的玩意儿,而是
维护现有产品的正常运转,确保生产不中断。
如今真正的高级技能:
“我可以将一个大量使用 jQuery 的功能重构为现代代码,而不会破坏结账按钮。 ”
🏗️ 为什么很少会完全移除 jQuery
因为实际的迁移过程是这样的:
-
在框架中发布新的用户界面 -
让旧的 jQuery 模块并行运行(这很麻烦) -
承诺“我们稍后会清理干净” -
以后永远不会到来
你不能“移除 jQuery”,
而是应该封装它、缩小它、隔离它。
然后有一天,五年多以后,你发现只有三个旧组件仍然依赖它……这就足够了。
那不是懒惰,
那是经济现实。
🧩 WordPress:房间里的大象
-
约43%的网站使用WordPress搭建。 -
WordPress核心仍然自带jQuery(已更新,但仍然是必需的)。 -
数以万计的主题/插件都依赖于它。 -
大多数都不会被重写。
即使今天所有前端开发人员都停止使用 jQuery,仅 WordPress 一项就能让它再存活十年。
🧨 真正的笑点
jQuery之所以“存活”,并非因为它好用,
而是因为删除它的代价高于保留它的代价。
这不是技术问题,
而是经济学、风险管理和历史遗留问题共同作用的结果。
🔚 最终判决
jQuery是未来吗?不是。
它“过时”了吗?也不是。
它就像前端的COBOL——老旧、过时,但在数百万个系统中却不可替代。
现代前端开发需要掌握两项技能:
✅ 正确构建新系统
✅ 充分了解旧系统,避免破坏它
🤔 轮到你了
-
你有没有尝试过从生产环境中的应用程序中移除 jQuery?结果如何? -
你认为公司是否应该为代码重构预留预算——即使没有直接的投资回报? -
2035年我们还能看到jQuery吗?(我猜会的。)
关注「索引目录」公众号,获取更多干货。

