jQuery v4.0 Beta

jQuery 4.0 Beta 再次引发了关于这一库在现代 Web 开发中位置的讨论,因为许多工程师现在正试图从代码库中移除它,而另一些人仍然高度依赖它。支持者认为,jQuery 简洁流畅的 API、庞大的插件生态,以及它在服务器渲染网站上处理“只要一点点交互”的适配性,使其依然有价值,尤其是在遗留系统和 WordPress 之类的平台中。批评者则反驳说,现代浏览器 API 以及 React、Vue、htmx 等框架提供了更适合复杂应用的模式,让 jQuery 在小型、低复杂度页面之外显得过时。

谁还在使用 jQuery,以及为什么

  • 广泛用于遗留应用、内部工具、管理后台和低成本代理商网站。
  • 在 WordPress 及其插件生态中根深蒂固;仅这一点就让 jQuery 依然相关。
  • 受独立/小团队以及偏后端的开发者青睐,他们只需要“刚刚好”的 UI,而不想上现代化工具链。
  • 常用于快速实现数据表格、表单增强、轮播,以及大多由服务器渲染的网站上的轻量交互。

jQuery 的感知优势

  • 用于选择器、事件、AJAX 和 DOM 操作的 API 一致、简洁且流畅。
  • 许多人觉得这个 API 比原生 DOM 方法和 fetch 更容易记住,也更易读。
  • 非常适合渐进增强:先有 HTML,再有 CSS,最后可选 JS。
  • 丰富的插件生态(例如 DataTables、select2、table sorters)用极少代码解决常见 UI 问题。
  • 有些人仍认为原生 DOM API 相比 jQuery 的抽象层更冗长、笨拙,或设计不佳。

批评与转向其他方案的原因

  • 现代浏览器如今已覆盖了 jQuery 原本的大部分价值(选择器、事件、AJAX、动画)。
  • 维护大型 jQuery 应用被描述为痛苦:全局选择器、分散的事件处理器,以及基于 mutation 的逻辑,让行为难以推理。
  • 对于复杂、类似应用程序的 UI,组件框架(React、Vue、Svelte 等)被认为更易于维护、测试和演进。
  • jQuery 鼓励即兴拼接的代码片段,并可能隐藏行为,增加调试和升级的复杂度。
  • 跨主要 jQuery 版本升级可能有风险,因为它的 API 很灵活;有人提到过迁移辅助工具,但仍然觉得有阻力。

jQuery 与现代替代方案

  • 对于小型交互,有些人更喜欢原生 JS 或薄封装辅助库;另一些人则说 jQuery 仍然更简洁。
  • 关于框架是否对简单网站而言过度工程化,存在争论;不少人明确区分“网站”(jQuery/原生就够)和“Web 应用”(框架更合适)。
  • 一些人认为 htmx、Unpoly 以及服务端渲染框架等新工具,在精神上是 jQuery 简洁性的继承者。

展望

  • 许多人预计,由于对遗留系统的依赖,jQuery 还会持续很多年,即使很少有全新项目会以它作为起点。
  • 有人认为它“过时但没问题”;也有人坚持认为,就其适用领域而言,它仍然“很棒”。