使用 jQuery 不丢人,解决问题才是关键!
WordPress 6.3 发布,其实还有个更新,就是内置的 jQuery 库更新到 3.7。
jQuery 3.7 放弃了长期使用的选择器引擎 Sizzle,之后将不再依赖于作为单独项目的 Sizzle,jQuery 已经将 Sizzle 相关代码直接放到了核心,这有助于为 jQuery 未来版本中选择器的重要变化做好准备,目前因此体积减少了几个字节,效率也有所提升,因为 Sizzle 支持更旧的浏览器。
但是今天不讨论相关技术细节,只说现在还在使用 jQuery 这个问题。
使用 jQuery 丢人?
现在时不时就有 jQuery 已死的说法,前些年 GitHub 从前端代码中移除 jQuery 讨论过一轮,然后 Bootstrap 最新版本删除 jQuery 也讨论过一轮,然后一些一点点知名度的公司发布自己不用 jQuery 新闻,也会出现这个讨论。
确实现在的的浏览器越来越支持 Web 标准,然后 JavaScript 标准本身在过去十年中也得到了显著的改进,特别是在 2015 年发布 ECMAScript 6 之后,jQuery 赖以成名的 DOM 简化操作就没有那么大的优势了。
但是一些 vue/react 的用户不知道为何莫名就有了种看不起 jQuery,觉得使用 jQuery 很丢人,这就就很低级了,我觉得这种以使用的工具而给自己贴标签的行为非常可笑,一个人的自豪或者优越感至少应该基于自己的成就和作品,而不是自己使用的工具,这个和你没有半毛钱关系。
我们使用任何语言和框架都是用于解决问题,如果继续使用 jQuery 能够很快很好解决问题,就是最好的选择。
jQuery 依旧大量使用
无论你现在使用什么工具,至少应该对 jQuery 表达一些敬意,它是在2006年1月创建的,请记住那是在 Google Chrome 出现之前,这是一个浏览器创新很少的时代,微软的 IE 浏览器占据了 85-90% 份额的年代,并且其中大部分还是 IE6,jQuery 的出现彻底改变了 Javascript 与 HTML 交互的方式,让彻底改变了 Javascript 与 HTML 交互的方式。
时至今日,jQuery 依然是网络上运行时间最长、最具影响力的 JavaScript 库之一,它可以说见证了 Web2.0 从开始到流行,根据 BuiltWith 的数据,排名前 100 万的网站中有 78% 以某种方式使用 jQuery,而当今最受关注的 JavaScript 库 React 的使用率则仅为 14%。
简单说说 jQuery 为什么依然得到大量使用,首先就是因为其兼容性,让程序员可以通过统一的 API 在不同浏览器和不同版本的浏览器上编写代码,并能行为一致。此外它的文档非常完善,可以快速入手,然后社区还有丰富的插件,可以快速实现各种功能。
jQuery 最突破性贡献就是简化了 DOM 操作,引入了简洁直观的语法,使程序员能够轻松遍历和操作 HTML 元素、处理事件以及创建动态交互,当然最重要还是因为遗留代码库,许多现有的网站和应用程序都是使用 jQuery 构建的,那么继续使用就是最佳选择。
WordPress 的因素
比较神奇的地方是,jQuery 的使用量虽然很大,但是很多人可能甚至都没有意识到自己正在使用 jQuery,这是因为许多大型项目中默认集成了 jQuery,这个其中最引人注目的就是 WordPress 系统,许多 WordPress 主题和插件都使用了 jQuery。另外jQuery 库也是当今一些最流行的 JavaScript 框架和工具包的基础层。
其实大多数网站都是不需要使用复杂框架的 Web 应用程序,他们大多是具有一些动态行为的静态网站,比如使用 WordPress 构建的页面,jQuery 在这些地方仍然很流行,它有效而且简单,所以人们觉得没有必要停止使用它。
至于我个人,特别是我们纯后端程序员来说,有时候需要自己写点简单的交互的时候,jQuery 就体现出了简单高效的特性,比如 WPJAM Basic 插件所有 AJAX 交互都是用 jQuery 实现的,只有不到 2000 行代码,非常符合 jQuery 的「write less, do more」的设计宗旨。
我觉得 jQuery 将在未来很长的一段时间内继续成为 WordPress 的一部分,如果没有其他原因,在不破坏向后兼容性的情况下很难删除它,当然 WordPress 也在变化,最近这几个版本更新中的重点 Gutenberg 编辑器,就已经是不基于 jQuery 而是基于 React 开发的了。
随着时间的推移,WordPress 在前端也会转向更新的技术,但这将是一个渐进并漫长的过程。
结论
jQuery 可能不再是程序员使用 JavaScript 的最佳方式,但是其庞大遗留代码库使得它可能还会存在很长时间,至少它会在未来依旧会在数千万个 WordPress 网站中存在,如果你和我一样纯后端程序员,希望自己简单操作一下页面,那么 JQuery 依旧是最方便使用的 JavaScript 库。