前段时间,有个朋友问我:"你还在用 Vue 吗?我准备转向 Solid.js 了,听说更快。"
我苦笑了一下,手上敲的却是 jQuery。
没错,在这个全网都在拥抱新的前端框架、构建工具和 AI 自动生成组件的时代,我居然重新研究起了 jQuery。
但并不是因为"怀旧"------而是当我在几个真实项目中经历了一轮轮复杂重构、性能灾难和团队混乱之后,我才意识到一个事实:
jQuery 没有过时,只是我们"用 jQuery 的方式过时了"。
1. jQuery 真的"过时"了吗?
坦率地说,它确实老了。
它不支持组件化、不支持响应式、没有虚拟 DOM、没有构建工具链、也不支持 TS。但是......
- 它依然稳定;
- 它依然小巧;
- 它依然能跑;
- 它依然支持 IE(如果你项目还需要);
- 它依然可以精确控制 DOM,而不需要 hook 或 proxy 响应式。
你以为现代框架很"优雅"?可是一旦项目复杂度上来,hooks、effect、副作用、ref、状态同步......让你一头雾水。
反观 jQuery 的世界,清晰且纯粹:
js
$('#btn').on('click', () => {
$('#modal').fadeIn()
})
不响应式、不 hook,不组件通信,但你能在 5 秒内读懂逻辑,1 分钟内加完功能,调完样式。为什么?因为它只做了一件事:操作 DOM。
2. 我为什么重新研究它?
我不是要做复古博客,也不是想展示情怀,而是遇到了真实的问题:
🌪 场景一:复杂表单逻辑 + React 状态同步炸裂
在一次重构老系统的时候,我尝试用 React 重写原本的 jQuery 表单,表单有 60 多个字段,字段之间存在各种联动、隐藏逻辑、校验规则。
但很快我们踩到坑:
- 多个字段依赖同一个状态,更新不及时;
- 父组件状态下沉太深;
- 各种 useEffect 嵌套,逻辑拧巴;
- 性能瓶颈出现在虚拟 DOM diff 上。
最后,我干脆把这个复杂逻辑模块拆出去,用 jQuery + 原生 JS 实现了一个小型"表单引擎"模块。性能提升了 50%,可维护性也反而提升了。
🎮 场景二:页面局部功能极简快速上线
有时候产品提个紧急需求:"能不能让这个按钮点击后展示个气泡提示框?"
用 Vue/React 写个组件、状态管理、样式绑定,确实优雅,但流程太重。
用 jQuery 呢?2 行代码 + 1 个 CSS class 就搞定了。
3. jQuery 的 3 个隐藏优点,被现代开发者忽视了
✅ 1. 非常适合做微交互和局部增强
很多页面其实不需要全 SPA 架构,只需要"增强"已有 DOM 的交互即可。jQuery 在这种场景依然无敌。
✅ 2. 适用于老项目 + 新模块的混合模式
实际开发中,"大改造"项目远不如你想象的多。更多是"在老系统上打补丁"。jQuery 很适合作为过渡层,不干扰原有逻辑。
✅ 3. 上手门槛极低,新人 3 分钟上手
相比于需要学习 hooks、响应式、TS 泛型的现代框架,jQuery 天然适合实习生和后端写前端。
4. jQuery 能干啥
它非常适合:
- 老系统维护;
- 小页面局部增强;
- 嵌入式交互逻辑;
- 纯前端 demo 快速构建;
- 快速原型、功能验证;
5. "用现代的心态使用老技术"
重新看待 jQuery,不是让我们回去抱着 <script src="jquery.min.js">
做页面特效,而是:
在当前框架越来越重、越来越抽象的今天,我们是否还记得"最初编写 JavaScript 是为了什么"?
是为了「操作页面」,不是为了「学 API」。
用现代工具解决现代问题没错,但不代表老技术没有价值------甚至,它能帮你在复杂之中保持简单。
✅ End
jQuery 的时代可能过去了,但「简洁、易懂」的开发哲学,仍然值得今天的开发者去重新理解。
如果你也觉得现代开发越来越卷,不妨试试回归基础,哪怕只写一小段代码。你会发现:
不是 jQuery 太老,而是你写代码的方式太"复杂"。