jQuery于2006年推出,当时Ajax一词风靡一时。Ajax(异步JavaScript和XML)与早期Web2.0时代的其他JavaScript技术一样,早已不再是开发人员的通用语言。但jQuery经受住了时间的考验,事实上它一直在逐年增长,直到最近。对此,jQuery开发者Micha?Go??biowski-Owczarek分享了他的看法。名字太长了,就简称为MGO吧。MGO是上个月在OpenJS博客上发表的两篇文章的作者,这两篇文章都提到了jQuery正在进行的现代化工作。第一篇文章宣布了新版本的jQueryUI——一个建立在jQueryCore库之上的用户界面库。这将是该项目的最终版本,这意味着未来不会有jQueryUI的重大迭代,它只会被维护。第二篇文章宣布弃用jQueryMobile,这是jQuery的另一个子项目,为移动浏览器提供基于HTML5的用户界面系统。不过,这两个项目的结束并不会影响jQuery目前的主力项目:jQueryCore,也就是说它不会在短时间内从大众视野中消失。WordPress虽然现在jQuery被大量使用,但今天的开发人员可能甚至没有意识到他们正在使用jQuery。那是因为它嵌入了许多大型开源项目中——最著名的是WordPress。许多WordPress主题和插件都依赖于jQuery。jQuery库也是当今一些最流行的JavaScript框架和工具包的基础层,例如AngularJS和Bootstrap(4.0及以下版本)。事实上,大多数网站并不需要复杂的开发框架,它们大多是具有一些动态行为的静态网站(此类网站通常是用WordPress编写的),jQuery在这种情况下仍然很受欢迎,因为它简单有效。此外,jQuery将在未来很长一段时间内继续成为WordPress的一部分,因为在不破坏向后兼容性的情况下很难将其删除。随着时间的推移,WordPress肯定会逐渐更新其技术,但这应该是一个循序渐进的过程。然而,在WordPress社区中出现了一些反弹,在WordPress主题中使用jQuery的性能影响是一个热门话题。GMO还说:jQuery死了吗?像这样的文章流传了好几年,至少目前在WordPress生态中还是很活跃的。鼓励它替换它的开发人员需要自行承担风险。jQuery的前任角色当jQuery的创建者JohnResig于2006年1月在BarCampNYC发布它的一个版本时,他写道:这段代码彻底改变了Javascript与HTML交互的方式。他主要指的是jQuery让开发人员更容易操作DOM。要知道,这还是在谷歌浏览器反扑之前,现在微软臭名昭著的InternetExplorer占据了85-90%的浏览器市场,IE6独领风骚。甚至在那时,IE6就享有历史上最糟糕的浏览器的声誉。Resig在2006年6月的一篇帖子中也指出了JavaScript开发人员在使用浏览器时遇到的一些问题:JavaScript存在很多问题(大部分源于浏览器不兼容),任何稍微复杂一点的应用程序都需要处理诸如标准化的事件处理、DOM节点选择和动画渲染。这正是Resig着手解决的问题。当时领先的JavaScript库“四大”是Dojo、MochiKit、Prototype/Scriptaculous和YahooUI。所以基本上,jQuery的发明主要是为了帮助开发人员处理当时浏览器的不足。jQuery现在的角色既然每个优秀的浏览器都更符合Web标准,那么jQuery在Web中的角色是什么?此外,JavaScript标准本身在过去十年中有了显着改进,尤其是在2015年发布ECMAScript6之后。现在,React是当今最受关注的JavaScript库。许多现代框架,尤其是Next.js,都是建立在React之上的。Angular等其他一些流行的框架有自己的库生态系统。现代JavaScript框架还允许您将UI分解为各种组件,从而更轻松地扩展您的应用程序。GMO在谈到Next.js和Angular时提到:这些框架提供了抽象,可以更容易地在数据和视图之间进行同步。因此,他们的用户不再需要经常直接修改或访问DOM,而且通常不鼓励这样做。在这样的环境下,使用jQuery意义不大。但这只是整个网络生态系统的一小部分。不过,GMO也承认jQuery对于大型应用程序可能存在性能问题:这些年来我们大大提高了jQuery的性能,但也存在一些难以处理的问题。其中之一是,为了不与浏览器发生冲突,jQuery不会像其他一些库那样修改本机原型(通常后来会导致API冲突的标准化问题),而是使用jQuery包装器对象包装DOM节点。每个操作都会创建一个新的此类包装器对象,这在大多数情况下无关紧要,但对于具有大量DOM操作的非常复杂的应用程序,这可能会成为一个问题。最后很明显,jQuery不再是开发人员向其网站或应用程序添加JavaScript功能的最佳方式,尤其是在需要扩展的情况下。事实上,GitHub对jQuery的贡献远低于其巅峰时期(2006年至2013年左右),这也意味着我们需要做更多的工作来使jQuery与我们今天拥有的网络更加兼容。但没关系。jQuery出现的时间比大多数开发人员预期的要长得多,因为它出现在Web2.0时代的初期。毕竟,它仍然在做它应该做的事情,它仍然是一个非常简单方便的JavaScript库。无论如何,jQuery将在未来几年内嵌入到数千万个WordPress站点中,甚至可能比React更持久。你怎么看待这件事?