jQuery仍然有意义吗?
#javascript #网络开发人员 #初学者 #jquery

如果您当前正在进入前端开发,则可能会与jQuery感到困惑。目前尚不清楚它的作用,为什么要使用,以及它是否仍然值得学习。让我们研究这个问题以一些历史开始。

JQuery在2008年如何帮助程序员

我的第一份编程工作是在2008年。那时,我正在帮助建立网站,当时的主要问题是:它在Internet Explorer 6中是否有效?使网站工作并看起来相同,因为浏览器很容易占前端工作的50%,而且最不有趣的部分。

jQuery在那里帮助解决许多与浏览器景观有关的问题。

浏览器兼容性问题

浏览器之间存在很多差异。如果您在像Firefox或Chrome这样的现代浏览器中测试了代码,则不能保证在Internet Explorer中工作。 CSS有很多差异,JS的差异较小。当时的最佳实践是使网站首先在现代浏览器中工作,因此它是 Future-Prover-Profforn-Prover <较旧的浏览器。

jQuery解决了部分问题的一部分。在所有受支持的浏览器中,所提供的方法都可以正常工作。所有解决方法都从应用程序代码库中删除。有许多库,其中有用户界面(UI)组件构建在jQuery最著名的jQueryUiâ上,并且使用这些库可以使营销界面元素看起来正确并在所有浏览器中工作,从而节省了很多头痛。

选择器

CSS具有一个非常合理的模型,可以从文档中挑选元素:选择器。当时,JavaScript仅在浏览器上使用:因此,同一人使用JS和CSS,他们也希望JS侧的CSS选择器。当时,浏览器本地没有什么可用的。

这是jQuery提供的另一个功能。有了它,您可以找到像
一样简单的dom元素

var element = $(.some-class);

晦涩的浏览器API

JavaScript的第一个版本是在10天内开发的,因此有许多粗糙的边缘。多年来,其临时性持续。 XMLHttpRequest是将JavaScript变成一种可以用于开发浏览器端应用程序的语言的关键功能,可以从JS向服务器进行其他请求。使用它的方式不太好阅读:

const request = new XMLHttpRequest();
request.addEventListener("load", function () {
    console.log(this.responseText);
  }
);
request.open("GET", "http://www.example.org/example.txt");
request.send();

使用jQuery,可以更可读地实现相同的目标:

$.ajax({
 method: "GET",
 url: "http://www.example.org/example.txt",
})
 .done(function( msg ) {
   // or however the result was read in jQuery 1.2
   console.log(msg);
 });

现代浏览器提供的解决方案

如果您最近开始前进旅程,除非您维护在某些公司环境中被化石的旧应用程序的IE 6接口,否则您不太可能在实践中看到这些问题。

感谢常绿浏览器,我们几乎听不到兼容性问题。如果您的日常业务应用程序有效,则可以假设所有浏览器都可以正常工作。并等待错误报告,因为它们都不相同。

API问题也被解决了,我们有document.querySelectorAllfetch,它提供了一个很好的API,可以通过本机功能执行常见操作。

仍然是一个非常受欢迎的包装

即使jQuery不再受到关注,它仍然是一个非常受欢迎的软件包:

Image description

如果您的compare it with React, Vue, and Angular,则只有React有更多的下载。您可以期望在那里的许多项目中看到它。尤其是如果您认为大量的jQuery用法可能不会通过NPM来进行,许多人会使用折衷的软件包管理器或CDN链接。

为什么要在2022年使用jQuery?

我看到的主要原因是您有一个习惯的团队,这可能不一定是开发人员的领先者,而是内容作者,设计师或营销专家,他们学会了与JQuery做事,并且没有理由改变事物。

您也可能仍然这样做。例如,如果在代码库中有200个$.ajax呼叫,我会三思而后行,然后再添加一些fetch呼叫。这将是一个重大重构的开始,我不确定在哪种情况下投入如此多的努力是有意义的。

你应该学习jQuery吗?

学习它不会伤害您,但是引入项目可以引起一些眉毛。对于Greenfield项目,默认为Vanilla JS是有意义的。而且,如果您加入了大量使用jQuery的项目,则很可能可以通过阅读文档(我为其编写guide)在工作中学习它,并从其他代码库中获取代码示例。

你呢?

您自己正在使用jQuery吗?您是否经常在项目或工作机会中看到它?在评论中分享您的jQuery故事!