{"id":38523,"date":"2019-10-31T22:24:17","date_gmt":"2019-10-31T19:24:17","guid":{"rendered":"https:\/\/prohoster.info\/blog\/istoriya-i-nasledie-jquery\/"},"modified":"2019-10-31T22:24:17","modified_gmt":"2019-10-31T19:24:17","slug":"istoriya-i-nasledie-jquery","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/news\/istoriya-i-nasledie-jquery","title":{"rendered":"Histoire et h\u00e9ritage de jQuery","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Histoire et h\u00e9ritage de jQuery\" src=\"\/wp-content\/uploads\/2019\/10\/beb7b33761181e6b478031cf1b85e6c6.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\njQuery \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/trends.builtwith.com\/javascript\/jQuery\">c'est la biblioth\u00e8que JavaScript la plus populaire<\/a><\/noindex> dans le monde. La communaut\u00e9 des d\u00e9veloppeurs web l'a cr\u00e9\u00e9e \u00e0 la fin des ann\u00e9es 2000, ce qui a men\u00e9 \u00e0 l'\u00e9mergence d'un riche \u00e9cosyst\u00e8me de sites, de plugins et de frameworks utilisant jQuery en arri\u00e8re-plan.<\/p>\n<p>Mais ces derni\u00e8res ann\u00e9es, son statut d'outil principal pour le d\u00e9veloppement web a \u00e9t\u00e9 \u00e9branl\u00e9. Examinons pourquoi jQuery est devenu populaire et pourquoi il a perdu de sa vigueur, ainsi que dans quels cas il est encore raisonnable de l'utiliser pour cr\u00e9er des sites modernes.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Bref historique de jQuery<\/h2>\n<p>\nJohn Resig (<noindex><a rel=\"nofollow\" href=\"https:\/\/johnresig.com\/\">John Resig<\/a><\/noindex>) a cr\u00e9\u00e9 la premi\u00e8re version de la biblioth\u00e8que en 2005, et <noindex><a rel=\"nofollow\" href=\"https:\/\/johnresig.com\/blog\/barcampnyc-wrap-up\/\">l'a publi\u00e9e en 2006<\/a><\/noindex>- lors d'un \u00e9v\u00e9nement appel\u00e9 BarCampNYC. Sur <noindex><a rel=\"nofollow\" href=\"https:\/\/web.archive.org\/web\/20060203025710\/http:\/\/jquery.com\/\">le site officiel de jQuery,<\/a><\/noindex> l'auteur a \u00e9crit :<\/p>\n<blockquote><p>jQuery est une biblioth\u00e8que JavaScript dont le principe fondamental est : Programmer en JavaScript doit \u00eatre agr\u00e9able. jQuery prend les t\u00e2ches fr\u00e9quentes et r\u00e9p\u00e9titives, \u00e9limine tout balisage non n\u00e9cessaire et les rend courtes, \u00e9l\u00e9gantes et compr\u00e9hensibles.<\/p><\/blockquote>\n<p>\njQuery a deux principaux atouts. Le premier est une API pratique pour manipuler les pages web. En particulier, elle offre des m\u00e9thodes puissantes pour s\u00e9lectionner des \u00e9l\u00e9ments. On peut s\u00e9lectionner non seulement par ID ou par classes, jQuery permet d'\u00e9crire des expressions complexes, par exemple pour s\u00e9lectionner des \u00e9l\u00e9ments en fonction de leurs relations avec d'autres \u00e9l\u00e9ments :<\/p>\n<pre><code class=\"javascript\">\/\/ Select every item within the list of people within the contacts element\n$('#contacts ul.people li');<\/code><\/pre>\n<p>\nAu fil du temps, le m\u00e9canisme de s\u00e9lection est devenu une biblioth\u00e8que distincte, <noindex><a rel=\"nofollow\" href=\"https:\/\/sizzlejs.com\/\">Sizzle.<\/a><\/noindex>.<\/p>\n<p>Le deuxi\u00e8me atout de la biblioth\u00e8que \u00e9tait qu'elle abstrait les diff\u00e9rences entre les navigateurs. \u00c0 cette \u00e9poque, il \u00e9tait difficile d'\u00e9crire du code capable de fonctionner de mani\u00e8re fiable sur tous les navigateurs. <\/p>\n<p>L'absence de normalisation signifiait que les d\u00e9veloppeurs devaient tenir compte de nombreuses diff\u00e9rences entre les navigateurs et des cas particuliers. Regardez <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/daniellmb\/jquery-archive\/blob\/master\/jquery.2006-07-01.js\">ce code source pr\u00e9coce de jQuery<\/a><\/noindex> et cherchez jQuery.browser. Voici un des exemples :<\/p>\n<pre><code class=\"javascript\">\/\/ If Mozilla is used\nif ( jQuery.browser == \"mozilla\" || jQuery.browser == \"opera\" ) {\n        \/\/ Use the handy event callback\n        jQuery.event.add( document, \"DOMContentLoaded\", jQuery.ready );\n\n\/\/ If IE is used, use the excellent hack by Matthias Miller\n\/\/ http:\/\/www.outofhanwell.com\/blog\/index.php?title=the_window_onload_problem_revisited\n} else if ( jQuery.browser == \"msie\" ) {\n\n        \/\/ Only works if you document.write() it\n        document.write(\"&lt;scr\" + \"ipt id=__ie_init defer=true \" + \n                \"src=javascript:void(0)&gt;&lt;\/script&gt;\");\n\n        \/\/ Use the defer script hack\n        var script = document.getElementById(\"__ie_init\");\n        script.onreadystatechange = function() {\n                if ( this.readyState == \"complete\" )\n                        jQuery.ready();\n        };\n\n        \/\/ Clear from memory\n        script = null;\n\n\/\/ If Safari  is used\n} else if ( jQuery.browser == \"safari\" ) {\n        \/\/ Continually check to see if the document.readyState is valid\n        jQuery.safariTimer = setInterval(function(){\n                \/\/ loaded and complete are both valid states\n                if ( document.readyState == \"loaded\" || \n                        document.readyState == \"complete\" ) {\n\n                        \/\/ If either one are found, remove the timer\n                        clearInterval( jQuery.safariTimer );\n                        jQuery.safariTimer = null;\n\n                        \/\/ and execute any waiting functions\n                        jQuery.ready();\n                }\n        }, 10);\n}<\/code><\/pre>\n<p>\nEt gr\u00e2ce \u00e0 jQuery, les d\u00e9veloppeurs pouvaient transf\u00e9rer les pr\u00e9occupations concernant tous ces pi\u00e8ges sur les \u00e9paules de l'\u00e9quipe qui d\u00e9veloppe la biblioth\u00e8que.<\/p>\n<p>Plus tard, jQuery a facilit\u00e9 l'adoption de technologies plus complexes, comme les animations et Ajax. La biblioth\u00e8que est en fait devenue une d\u00e9pendance standard pour les sites web. Et aujourd'hui, elle fait fonctionner une \u00e9norme partie d'Internet. W3Techs estime que <noindex><a rel=\"nofollow\" href=\"https:\/\/w3techs.com\/technologies\/details\/js-jquery\/all\/all\">74 % des sites utilisent aujourd'hui jQuery.<\/a><\/noindex>.<\/p>\n<p>Le contr\u00f4le du d\u00e9veloppement de jQuery est \u00e9galement devenu plus formel. En 2011, l'\u00e9quipe <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.jquery.com\/2011\/11\/18\/getting-board-of-jquery\/\">a cr\u00e9\u00e9 le jQuery Board.<\/a><\/noindex>Et en 2012, le jQuery Board<noindex><a rel=\"nofollow\" href=\"https:\/\/blog.jquery.com\/2012\/03\/06\/announcing-the-jquery-foundation\/\"> s'est transform\u00e9 en jQuery Foundation.<\/a><\/noindex>.<\/p>\n<p>En 2015, la jQuery Foundation a fusionn\u00e9 avec la Dojo Foundation,<noindex><a rel=\"nofollow\" href=\"https:\/\/blog.jquery.com\/2015\/09\/01\/jquery-foundation-and-dojo-foundation-to-merge\/\"> pour cr\u00e9er la JS Foundation<\/a><\/noindex>, qui a ensuite fusionn\u00e9 avec la Node.js Foundation en<noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/@nodejs\/introducing-the-openjs-foundation-the-next-phase-of-javascript-ecosystem-growth-d4911b42664f\"> 2019<\/a><\/noindex>- pour cr\u00e9er<noindex><a rel=\"nofollow\" href=\"https:\/\/openjsf.org\/\"> la OpenJS Foundation<\/a><\/noindex>, dans le cadre duquel jQuery \u00e9tait l'un des &#171;<noindex><a rel=\"nofollow\" href=\"https:\/\/openjsf.org\/projects\/#impact\">projets r\u00e9volutionnaires<\/a><\/noindex>.&#187;<\/p>\n<h2>Circonstances changeantes<\/h2>\n<p>\nCependant, ces derni\u00e8res ann\u00e9es, jQuery <noindex><a rel=\"nofollow\" href=\"https:\/\/trends.google.com\/trends\/explore\/TIMESERIES\/1564319400?hl=en-US&amp;tz=240&amp;date=all&amp;geo=US&amp;q=jquery&amp;sni=3\">a perdu de sa popularit\u00e9<\/a><\/noindex>. GitHub<noindex><a rel=\"nofollow\" href=\"https:\/\/github.blog\/2018-09-06-removing-jquery-from-github-frontend\/\"> a retir\u00e9 la biblioth\u00e8que de la partie frontend de son site<\/a><\/noindex>. Bootstrap v5 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/twbs\/bootstrap\/pull\/23586\">se d\u00e9barrasse de jQuery<\/a><\/noindex>, car c'est sa \u00ab<noindex><a rel=\"nofollow\" href=\"https:\/\/blog.getbootstrap.com\/2019\/02\/11\/bootstrap-4-3-0\/\">plus grande d\u00e9pendance client pour JavaScript standard<\/a><\/noindex>\u00bb (actuellement d'une taille de 30 Ko, minifi\u00e9 et emball\u00e9). Plusieurs tendances en d\u00e9veloppement web ont affaibli la position de jQuery en tant qu'outil indispensable.<\/p>\n<h3>Navigateurs<\/h3>\n<p>\nPour diverses raisons, les diff\u00e9rences et limitations entre navigateurs sont devenues moins importantes. Tout d'abord, la standardisation s'est am\u00e9lior\u00e9e. Les principaux d\u00e9veloppeurs de navigateurs (Apple, Google, Microsoft et Mozilla) collaborent pour d\u00e9velopper<noindex><a rel=\"nofollow\" href=\"https:\/\/spec.whatwg.org\/\"> des normes web<\/a><\/noindex> dans le cadre de<noindex><a rel=\"nofollow\" href=\"https:\/\/whatwg.org\/\"> la Web Hypertext Application Technology Working Group<\/a><\/noindex>.<br \/>\nBien que les navigateurs diff\u00e8rent encore dans plusieurs aspects importants, les fournisseurs disposent au moins d'un moyen de rechercher et de cr\u00e9er une base commune au lieu de <noindex><a rel=\"nofollow\" href=\"https:\/\/thehistoryoftheweb.com\/browser-wars\/\">la guerre permanente<\/a><\/noindex> les uns contre les autres. En cons\u00e9quence, les API des navigateurs ont acquis de nouvelles possibilit\u00e9s. Par exemple, <noindex><a rel=\"nofollow\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Fetch_API\">Fetch API<\/a><\/noindex> peut remplacer les fonctions Ajax de jQuery :<\/p>\n<pre><code class=\"javascript\">\/\/ jQuery\n$.getJSON('https:\/\/api.com\/songs.json')\n    .done(function (songs) {\n        console.log(songs);\n    })\n\n\/\/ native\nfetch('https:\/\/api.com\/songs.json')\n    .then(function (response) {\n        return response.json();\n    })\n    .then(function (songs) {\n        console.log(songs);\n    });<\/code><\/pre>\n<p>\nM\u00e9thodes <noindex><a rel=\"nofollow\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Document\/querySelector\">querySelector<\/a><\/noindex> et<noindex><a rel=\"nofollow\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Document\/querySelectorAll\"> querySelectorAll<\/a><\/noindex> dupliquent les m\u00e9thodes de s\u00e9lection de jQuery :<\/p>\n<pre><code class=\"javascript\">\/\/ jQuery\nconst fooDivs = $('.foo div');\n\n\/\/ native\nconst fooDivs = document.querySelectorAll('.foo div');<\/code><\/pre>\n<p>\nManipuler les classes des \u00e9l\u00e9ments est d\u00e9sormais possible avec <noindex><a rel=\"nofollow\" href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Element\/classList\">classList<\/a><\/noindex>:<\/p>\n<pre><code class=\"javascript\">\/\/ jQuery\n$('#warning').toggleClass('visible');\n\n\/\/ native\ndocument.querySelector('#warning').classList.toggle('visible');<\/code><\/pre>\n<p>\nSur le site<noindex><a rel=\"nofollow\" href=\"http:\/\/youmightnotneedjquery.com\/\"> Vous pourriez ne pas avoir besoin de jQuery<\/a><\/noindex> \u00e9num\u00e8re encore d'autres situations o\u00f9 le code jQuery peut \u00eatre remplac\u00e9 par du code natif. Certains d\u00e9veloppeurs restent toujours attach\u00e9s \u00e0 jQuery, car ils ne connaissent tout simplement pas les nouvelles API, mais une fois inform\u00e9s, ils commencent \u00e0 utiliser cette biblioth\u00e8que moins fr\u00e9quemment.<\/p>\n<p>Utiliser les fonctionnalit\u00e9s natives permet d'am\u00e9liorer les performances des pages. De nombreux <noindex><a rel=\"nofollow\" href=\"https:\/\/api.jquery.com\/category\/effects\/\">effets d'animation de jQuery<\/a><\/noindex> peuvent maintenant \u00eatre r\u00e9alis\u00e9s<noindex><a rel=\"nofollow\" href=\"https:\/\/dev.opera.com\/articles\/css3-vs-jquery-animations\/\"> de mani\u00e8re beaucoup plus efficace<\/a><\/noindex> avec CSS.<\/p>\n<p>Une autre raison est que les navigateurs se mettent \u00e0 jour beaucoup plus rapidement qu'auparavant. La plupart d'entre eux appliquent une <noindex><a rel=\"nofollow\" href=\"https:\/\/www.techopedia.com\/definition\/31094\/evergreen-browser\">strat\u00e9gie de mise \u00e0 jour \u00ab toujours vert \u00bb<\/a><\/noindex>, \u00e0 l'exception d'Apple Safari. Ils peuvent se mettre \u00e0 jour en arri\u00e8re-plan sans n\u00e9cessiter l'intervention de l'utilisateur et ne sont pas li\u00e9s aux mises \u00e0 jour du syst\u00e8me d'exploitation.<\/p>\n<p>Cela signifie que de nouvelles fonctionnalit\u00e9s des navigateurs et des corrections de bogues sont diffus\u00e9es beaucoup plus rapidement, et les d\u00e9veloppeurs n'ont pas \u00e0 attendre que la part de march\u00e9 <noindex><a rel=\"nofollow\" href=\"https:\/\/caniuse.com\/\">Puis-je l'utiliser<\/a><\/noindex> atteindra un niveau acceptable. Ils peuvent utiliser en toute confiance de nouvelles fonctionnalit\u00e9s et API sans charger jQuery ou des polyfills.<\/p>\n<p>La troisi\u00e8me raison est que Internet Explorer s'approche de l'\u00e9tat d'obsolescence totale. IE est depuis longtemps un fl\u00e9au pour le d\u00e9veloppement web dans le monde entier. Les erreurs qui lui sont caract\u00e9ristiques \u00e9taient largement r\u00e9pandues, et comme IE dominait dans les ann\u00e9es 2000 et n'a pas utilis\u00e9 de strat\u00e9gie de mise \u00e0 jour \u00ab evergreen \u00bb, ses anciennes versions sont encore souvent rencontr\u00e9es.<\/p>\n<p>En 2016, Microsoft a acc\u00e9l\u00e9r\u00e9 le retrait d'IE de la circulation, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.microsoft.com\/en-us\/microsoft-365\/windows\/end-of-ie-support\">cessant de le supporter<\/a><\/noindex> pour la dixi\u00e8me version et les versions ant\u00e9rieures, se limitant au support d'IE 11. De plus en plus, les d\u00e9veloppeurs web peuvent se permettre le luxe d'ignorer la compatibilit\u00e9 avec IE.<\/p>\n<p>M\u00eame jQuery a cess\u00e9 de supporter IE 8 et inf\u00e9rieur \u00e0 partir de <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.jquery.com\/2013\/04\/18\/jquery-2-0-released\/\">la version 2.0<\/a><\/noindex>, sortie en 2013. Et bien que dans certains cas le support d'IE soit encore n\u00e9cessaire, par exemple sur des sites anciens, ces situations se font de plus en plus rares.<\/p>\n<h3>Nouveaux cadres<\/h3>\n<p>\nDepuis l'apparition de jQuery, de nombreux cadres ont \u00e9t\u00e9 cr\u00e9\u00e9s, y compris les leaders modernes <noindex><a rel=\"nofollow\" href=\"https:\/\/reactjs.org\/\">React<\/a><\/noindex>,<noindex><a rel=\"nofollow\" href=\"https:\/\/angular.io\/\"> Angular<\/a><\/noindex> et <noindex><a rel=\"nofollow\" href=\"https:\/\/vuejs.org\/\">projet Vue<\/a><\/noindex>. Ils ont deux avantages importants par rapport \u00e0 jQuery.<\/p>\n<p>Tout d'abord, ils permettent de segmenter facilement l'interface utilisateur en composants. Les cadres sont con\u00e7us pour g\u00e9rer le rendu et la mise \u00e0 jour des pages, tandis que jQuery est g\u00e9n\u00e9ralement utilis\u00e9 uniquement pour la mise \u00e0 jour, laissant au serveur la t\u00e2che de fournir la page initiale.<\/p>\n<p>D'autre part, les composants React, Angular et Vue permettent de lier \u00e9troitement HTML, code et m\u00eame CSS. Tout comme nous divisons la base de code en nombreuses fonctions et classes autonomes, la possibilit\u00e9 de segmenter l'interface en composants r\u00e9utilisables simplifie la construction et la maintenance de sites complexes.<\/p>\n<p>Le deuxi\u00e8me avantage est que les cadres plus r\u00e9cents adoptent la paradigme d\u00e9claratif, dans lequel le d\u00e9veloppeur d\u00e9crit comment l'interface doit appara\u00eetre, tandis que le cadre g\u00e8re les modifications n\u00e9cessaires pour atteindre l'\u00e9tat d\u00e9sir\u00e9. Cette approche contraste avec l'approche imp\u00e9rative typique du code jQuery.<\/p>\n<p>Dans jQuery, vous \u00e9noncez explicitement les \u00e9tapes pour apporter des modifications. Dans un cadre d\u00e9claratif, vous dites : \u00ab Selon ces donn\u00e9es, l'interface doit appara\u00eetre ainsi \u00bb. Cela peut grandement faciliter l'\u00e9criture de code sans bugs.<\/p>\n<p>Les d\u00e9veloppeurs ont adopt\u00e9 de nouvelles approches pour le d\u00e9veloppement de sites web, ce qui a conduit \u00e0 une diminution de la popularit\u00e9 de jQuery.<\/p>\n<h2>Quand utiliser jQuery?<\/h2>\n<p>\nAlors quand <i>il convient <\/i>utiliser jQuery?<\/p>\n<p>Si la complexit\u00e9 du projet augmente, il vaut mieux commencer avec une autre biblioth\u00e8que ou un framework qui permet de g\u00e9rer cette complexit\u00e9 de mani\u00e8re significative. Par exemple, en divisant l'interface en composants. L'utilisation de jQuery dans de tels sites peut sembler acceptable au d\u00e9but, mais cela conduira rapidement \u00e0 un code spaghetti, o\u00f9 vous ne serez pas s\u00fbr de quelle partie influence quelle section de la page.<\/p>\n<p>J'ai d\u00e9j\u00e0 \u00e9t\u00e9 dans une telle situation, o\u00f9 tenter d'effectuer un changement donne l'impression d'une t\u00e2che difficile. On ne peut pas \u00eatre certain de ne rien casser, car les s\u00e9lecteurs jQuery d\u00e9pendent de la structure HTML cr\u00e9\u00e9e par le serveur.<\/p>\n<p>\u00c0 l'autre bout de l'\u00e9chelle se trouvent les sites simples qui ne n\u00e9cessitent qu'un peu d'interactivit\u00e9 ou de contenu dynamique. Dans ces cas, je ne commencerais pas non plus par utiliser jQuery, car avec les API natives, on peut faire beaucoup plus.<\/p>\n<p>M\u00eame si j'ai besoin de quelque chose de plus puissant, je chercherai une biblioth\u00e8que sp\u00e9cialis\u00e9e, par exemple, <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/axios\/axios\">axios<\/a><\/noindex> pour Ajax ou<noindex><a rel=\"nofollow\" href=\"https:\/\/daneden.github.io\/animate.css\/\"> Animate.css<\/a><\/noindex> pour les animations. Cela sera plus simple que de charger toute la jQuery pour une petite fonctionnalit\u00e9.<\/p>\n<p>Je pense que la meilleure justification pour utiliser jQuery est qu'elle offre une fonctionnalit\u00e9 compl\u00e8te pour le d\u00e9veloppement frontend d'un site. Au lieu d'apprendre divers API natifs ou biblioth\u00e8ques sp\u00e9cialis\u00e9es, vous pouvez simplement consulter la documentation jQuery et devenir imm\u00e9diatement productif.<\/p>\n<p>L'approche imp\u00e9rative se d\u00e9ploie mal, mais elle est plus facile \u00e0 ma\u00eetriser que l'approche d\u00e9clarative d'autres biblioth\u00e8ques. Pour un site avec des possibilit\u00e9s clairement limit\u00e9es, il est pr\u00e9f\u00e9rable d'utiliser jQuery et de travailler tranquillement : la biblioth\u00e8que ne n\u00e9cessite pas de construction ou de compilation compliqu\u00e9e.<\/p>\n<p>De plus, jQuery est un bon choix si vous \u00eates certain que le site ne deviendra pas plus complexe avec le temps, et si vous ne vous souciez pas de la fonctionnalit\u00e9 native, qui n\u00e9cessitera certainement plus de code qu'avec jQuery.<\/p>\n<p>Vous pouvez \u00e9galement utiliser cette biblioth\u00e8que si vous devez prendre en charge les anciennes versions d'IE. \u00c0 ce moment-l\u00e0, jQuery vous servira comme \u00e0 l'\u00e9poque o\u00f9 IE \u00e9tait le navigateur le plus populaire.<\/p>\n<h2>Un regard vers l'avenir<\/h2>\n<p>\njQuery ne dispara\u00eetra pas de sit\u00f4t. Elle <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/jquery\/jquery\">est en plein d\u00e9veloppement<\/a><\/noindex>, et de nombreux d\u00e9veloppeurs pr\u00e9f\u00e8rent utiliser son API, m\u00eame en pr\u00e9sence de m\u00e9thodes natives. Cette biblioth\u00e8que a aid\u00e9 toute une g\u00e9n\u00e9ration de d\u00e9veloppeurs \u00e0 cr\u00e9er des sites fonctionnant sur tous les navigateurs. Et bien que dans de nombreux aspects, elle soit remplac\u00e9e par de nouvelles biblioth\u00e8ques, frameworks et paradigmes, jQuery a jou\u00e9 un r\u00f4le \u00e9norme et positif dans la cr\u00e9ation du web moderne.<\/p>\n<p>Si la fonctionnalit\u00e9 de jQuery ne change pas de mani\u00e8re significative, il est probable qu'au cours des prochaines ann\u00e9es, son utilisation continuera \u00e0 diminuer lentement mais s\u00fbrement. Les nouveaux sites web sont g\u00e9n\u00e9ralement cr\u00e9\u00e9s d\u00e8s le d\u00e9part en utilisant des frameworks plus modernes, et les cas d'utilisation appropri\u00e9s de jQuery deviennent de plus en plus rares.<\/p>\n<p>Certaines personnes n'aiment pas l'intensit\u00e9 du d\u00e9su\u00e9tude des outils de d\u00e9veloppement web, mais pour moi, c'est un signe de progr\u00e8s rapide. jQuery nous a permis d'am\u00e9liorer de nombreuses choses. Il en va de m\u00eame pour ses successeurs.<br \/>\n<br \/>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/mailru\/blog\/468169\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>jQuery \u2014 \u044d\u0442\u043e \u0441\u0430\u043c\u0430\u044f \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u0430\u044f \u0432 \u043c\u0438\u0440\u0435 JavaScript-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430. \u0421\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u0432\u0435\u0431-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u0441\u043e\u0437\u0434\u0430\u043b\u043e \u0435\u0451 \u0432 \u043a\u043e\u043d\u0446\u0435 2000-\u0445, \u0447\u0442\u043e \u043f\u0440\u0438\u0432\u0435\u043b\u043e \u043a \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u0438\u044e \u0431\u043e\u0433\u0430\u0442\u043e\u0439 \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0430\u0439\u0442\u043e\u0432, \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432 \u0438 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u043e\u0432, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0445 \u043f\u043e\u0434 \u043a\u0430\u043f\u043e\u0442\u043e\u043c jQuery. \u041d\u043e \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0433\u043e\u0434\u044b \u0435\u0451 \u0441\u0442\u0430\u0442\u0443\u0441 \u0433\u043b\u0430\u0432\u043d\u043e\u0433\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430 \u0434\u043b\u044f \u0432\u0435\u0431-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u043e\u0448\u0430\u0442\u043d\u0443\u043b\u0441\u044f. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043f\u043e\u0447\u0435\u043c\u0443 jQuery \u0441\u0442\u0430\u043b\u0430 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0439 \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 \u043e\u043d\u0430 \u0432\u044b\u0448\u043b\u0430 \u0438\u0437 \u043c\u043e\u0434\u044b, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0432 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":28907,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-38523","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"jQuery \u2014\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/fr\/blog\/news\/istoriya-i-nasledie-jquery\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0418\u0441\u0442\u043e\u0440\u0438\u044f \u0438 \u043d\u0430\u0441\u043b\u0435\u0434\u0438\u0435 jQuery | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"jQuery \u2014\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/news\/istoriya-i-nasledie-jquery\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:24:17+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:24:17+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Histoire et h\u00e9ritage de jQuery | ProHoster","description":"jQuery \u2014","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/istoriya-i-nasledie-jquery","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0418\u0441\u0442\u043e\u0440\u0438\u044f \u0438 \u043d\u0430\u0441\u043b\u0435\u0434\u0438\u0435 jQuery | ProHoster","og:description":"jQuery \u2014","og:url":"https:\/\/prohoster.info\/fr\/blog\/news\/istoriya-i-nasledie-jquery","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:24:17+00:00","article:modified_time":"2019-10-31T19:24:17+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"38523","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 22:22:33","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:07:40","updated":"2026-01-23 22:22:33","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/38523","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=38523"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/38523\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media\/28907"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=38523"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=38523"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=38523"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}