登录      注册 ,网站注册用户数2130 官方QQ群:297020
快来测试一下你对本网站的了解有多少!
您的位置: 首页 > 转载 > 编程 > 为啥过时的 jQuery 仍然是市场占有率最高的 JS 库?

为啥过时的 jQuery 仍然是市场占有率最高的 JS 库?

2021年11月5日 作者:ConardLi 来源:[code秘密花园]微信公众号

jQuery 于 2006 年推出,当时 Ajax 一词正炒火热。Ajax(Asynchronous JavaScript and XML)与早期 Web 2.0 时代的其他 JavaScript 技术一样,早已不再是开发者的常用语。

article_20211105_1.jpeg

但 jQuery 经受住了时间的考验,事实上直到最近它还在保持逐年增长。对此, jQuery 的开发者 Micha Gobiowski-Owczarek 分享了他的看法。

名字太长了,后面简称他 MGO 吧。

MGO 是上个月 OpenJS 博客上两篇文章的作者,里面都提到了 jQuery 正在进行的 现代化工作。

article_20211105_2.jpeg

第一篇文章宣布了 jQuery UI 的新版本 —— 一个构建在 jQuery Core 库之上的用户界面库。这将是 该项目的最终版本,这意味着 jQuery UI 后面不再会有大的迭代了,仅仅会保持维护状态。

article_20211105_3.jpeg

第二篇文章宣布弃用了 jQuery Mobile,这是 jQuery 的另一个子项目,为移动浏览器提供 基于 HTML5 的用户界面系统。

不过,这两个项目的结束都不会影响 jQuery 现在的主项目:jQuery Core,这意味着它短时间内不会消失在大众视野。

WordPress

虽然 jQuery 现在正在被大量使用,但现在的开发者甚至可能没有意识到他们在使用 jQuery。那是因为它被嵌入在了许多大型开源项目里面 —— 其中最著名的就是 WordPress。

article_20211105_4.jpeg

很多 WordPress 的主题和插件都依赖于 jQuery。jQuery 库也是当今一些最流行的 JavaScript 框架和工具包的基础层,例如 AngularJS 和 Bootstrap(4.0 及以下版本)。

其实大多数网站都不需要复杂的开发框架,它们大多是具有一些动态行为的静态网站(这种网站通常都会用 WordPress 编写),jQuery 在这个场景下仍然很流行,因为它既简单又有效。

而且,在未来的很长一段时间,jQuery 还继续会是 WordPress 的一部分,因为它很难在不破坏向后兼容性的情况下将它删除。

随着时间的推移, WordPress 肯定会逐步更新它的技术,但是这应该是一个渐进式的过程。

但是, WordPress 的社区里已经出现了一些反对的声音, 在 WordPress 主题中使用 jQuery 的性能影响 就是一个比较热门的话题。

article_20211105_5.jpeg

GMO还表示:jQuery死了吗? 这样的文章已经流传了好几年了,至少目前在 WordPress 生态系统中它仍然很活跃。如果谁鼓励开发者们把它替换掉,风险自负。

jQuery 以前的角色

当 jQuery 的创造者 John Resig 于2006 年 1 月在 BarCampNYC 发布它的以一个版本时,他写道:

这段代码彻底改变了让 Javascript 与 HTML 交互的方式。

他主要指的是 jQuery 使开发者可以更轻松地操作 DOM。要知道,这是在谷歌浏览器逆袭之前,现在微软臭名昭著的 Internet Explorer 占据了 85-90% 的浏览器市场,其中 IE6 占主导地位。即使在当时,IE6 也以历史上最糟糕的浏览器而闻名。

article_20211105_6.jpeg

Resig 还在2006 年 6 月的一篇帖子中指出了 JavaScript 开发者在浏览器上遇到的一些问题:

JavaScript 中存在许多问题(其中大部分源于浏览器不兼容),任何稍微复杂一点的应用程序都需要处理诸如规范化事件处理、DOM 节点选择、动画渲染这些问题。

这也正是 Resig 着手解决的问题。当时“四大”领先的 JavaScript 库是 Dojo、MochiKit、Prototype/Scriptaculous 和 Yahoo UI 。

所以基本上,jQuery 的发明主要是为了帮助开发者处理当时浏览器的不足。

jQuery 现在的角色

在现在各种好用的浏览器都在更加符合 Web 标准的时候,jQuery 现在在 Web 中扮演的角色是啥呢?

article_20211105_7.jpeg

此外,JavaScript 标准本身在过去十年中也得到了显着改进,尤其是在 2015 年 ECMAScript 6 发布之后。

现在, React 已成为当今最受关注的 JavaScript 库。很多现代框架,尤其是 Next.js,都是建立在 React 之上的。

article_20211105_8.jpeg

一些其他流行的框架,例如 Angular 都有自己的库生态系统。现在的 JavaScript 框架还允许你将 UI 分解为各种组件,从而更轻松地扩展应用程序。

GMO 谈到 Next.js 和 Angular 的时候提到:

这些框架提供了抽象,可以更轻松地在数据和视图之间进行同步。因此他们的用户不再需要如此频繁地直接修改或者访问 DOM,并且通常也不鼓励这样做。在这样的环境下,使用 jQuery 没有多大意义。但这只是整个网络生态系统的一小部分。

然而 GMO 也承认 jQuery 可能存在大规模应用程序的性能问题:

这些年来,我们大大提高了 jQuery 的性能,但也存在一些难以应对的问题。其中之一是为了不与浏览器冲突,jQuery 不会修改原生原型 — 就像其他一些库所做的那样(通常后来导致冲突 API 的标准化问题)— 而是用 jQuery 包装器对象包装 DOM 节点。每个操作都会创建一个新的这种包装器对象,在大多数情况下,这并不重要,但对于具有大量 DOM 操作的非常复杂的应用程序,这可能会成为一个问题。

最后

很明显,jQuery 不再是开发者将 JavaScript 功能添加到他们的网站或应用程序的最佳方式,尤其是在需要扩展的情况下。

GitHub 对 jQuery 的贡献远低于其高峰年(2006 年至 2013 年左右)的事实,这也意味着要使 jQuery 与我们现在的 Web 更加兼容,我们还需要做更多的事情。

不过没关系。jQuery 的持续时间比大多数开发者预期的要长得多,因为它是在 Web 2.0 时代开始时问世的。毕竟,它现在仍然可以完成它所要做的工作,而且它仍然是一个非常简单方便的 JavaScript 库。

无论如何,在未来几年内,jQuery 还会嵌入到数以千万计的 WordPress 网站中,它甚至可能比 React 更持久。

对此你怎么看呢?

   

0/255

还没有评论,快来抢沙发吧!
相关文章
蘑菇街
Copyright © 2014-2024 森林的角落 , All Rights Reserved