Catégorie de l'article : Technique

Faut-il enterrer jQuery ?

·
lecture 6 minutes
RIP jQuery
Frédéric Pineau - Expert Web Performance
publié par

Frédéric Pineau
Directeur Technique

Alors oui, je sais, avec une telle question je risque de faire sortir dans la rue des millions de JS jaunes en situation précaire qui n’imaginent pas un monde sans jQuery. Mais voilà fidèle à notre leitmotiv « No Fucking JS« , il est bon, de temps en temps, de remettre en cause ses acquis surtout quand ceux-ci ont plus de 13 ans !

jQuery, qu’est-ce que c’est ?

jQuery est un framework JavaScript, une bibliothèque de composants JS créée pour faciliter l’écriture de scripts côté client dans le code HTML des pages web. Parmi les actions qu’il simplifie : le parcours de l’arbre DOM, la gestion des événements, les animations et les interactions Ajax.

La promesse de jQuery est d’être facile à apprendre, extensible avec une multitude de plugins et surtout compatible avec pratiquement tous les navigateurs…

Pour conclure cette définition, précisons que jQuery n’est pas un langage : c’est juste du code JavaScript bien écrit.

3 versions différentes de jQuery

En effet, le support navigateur est des plus complets.

Crée en 2006 par John Resig, jQuery en est à sa version 3.3.1. Pourtant, 2 versions antérieures restent disponibles.

  1. La première version est compatible avec tous les navigateurs et a évolué jusqu’en 2016 pour en être à la version 1.12.
  2. Avec la version 2 sortie en 2013, le support d’Internet Explorer 6-8, d’Opera 12.1x et de Safari 5.x. a été retiré du code pour des questions de performance (et on le comprend aisément).
  3. Sortie en 2016, la version 3 change de politique et ne supporte « que » les versions actuelles et précédentes d’un navigateur spécifique.

Pour la version 3, c’est donc une liste de navigateurs encore verts (evergreen) qui sont énumérés comme suit sur jQuery.com :

  • Desktop
    • Chrome: (Current – 1) and Current
    • Edge: (Current – 1) and Current
    • Firefox: (Current – 1) and Current, ESR
    • Internet Explorer: 9+
    • Safari: (Current – 1) and Current
    • Opera: Current
  • Mobile
    • Stock browser on Android 4.0+
    • Safari on iOS 7+

Un problème de taille

Si vous nous lisez régulièrement, vous savez que le premier levier de la web performance c’est le poids. Or jQuery souffre d’une mauvaise presse sur le sujet. En effet sa version 1.12 fait quelques 95 ko minifié. Selon W3Techs, jQuery est utilisé sur 97% des sites et que parmi ceux-ci la version 1 représente 85%. Pourtant la version 3 de jQuery est de base plus légère avec ses 85 ko. Et elle fournit même une version dites slim, allégée des requêtes Ajax et des effets d’animations qui ne pèsent que 68 ko. Philosophiquement, on se demande bien pourquoi autant de sites web embarquent un code pour le support de navigateurs plus qu’obsolètes : la version 3 devrait être plus adoptée qu’elle ne l’est aujourd’hui.

En soit, même la version 1 n’est pas trop lourde, mais ce n’est que le framework sur lequel il faut greffer ses propres fonctions ou des plugins prêts à installer. Et pour le coup, on obtient une surcharge de JavaScript qui est pour moitié responsable de la surcharge pondérale du web d’aujourd’hui. Si en plus, le site se met à charger plusieurs versions de jQuery pour être compatible avec différents développements alors on atteint des sommets. Ne rigolez pas, ça arrive plus souvent qu’on ne le pense !

NB : et je ne parle pas ici de Jquery UI, la couche de composants visuels de jQuery. Sinon avec celle-ci le problème est encore pire…

Donc si vous êtes dépendant de jQuery, pensez tout de même à migrer vers la dernière version. Sinon vous risquez de cumuler une dette technologique pharaonique à refondre d’ici quelques années.

Quelles alternatives à jQuery ?

D’autres frameworks ?

Pour vous donner un ordre d’idée sur le site que vous consultez en ce moment même, l’ensemble des JavaScripts présents fait environ 10 ko. C’est donc que des solutions alternatives existent et commencent même à grignoter des parts de marché importante :

Aujourd’hui, les frameworks Angular, Vue et React récupèrent les plus grosses parts de marché (du moins à leur échelle).

Ou pas de framework du tout?

Selon artwaï, dans la plupart des cas, si JavaScript est nécessaire, nous préconisons le VanillaJS, c’est à dire, l’écriture en JavaScript pur comme sur le site artwai.com; et dans la version 6 d’EcmaScript qui est le vrai nom normé de JavaScript (cf les spécifications ECMA-262 et ECMA-402 fournie par ECMA International ).

Toutefois la paradigme JavaScript a changé. HTTP2, CSS3 et les PWAs changent la donne. Il faut repenser complètement notre manière d’implémenter nos JavaScripts :

  • avec moins de JavaScript en utilisant un maximum les fonctionnalités HTML5 et CSS3
  • être plus modulaire avec des chargements à la demande en fonction du contexte
  • et en restant interopérable avec la transpilation ES6 et +

Qu’est-ce que la transpilation ?

La transpilation c’est le fait de traduire un code dans une version antérieure. Dans le cas qui nous intéresse, on code en ES6 (EcmaScript version 6) ou +, et ensuite on « transpile » dans la version correspondante à notre cible de navigateurs. Aujourd’hui c’est ES5 datant de 2009 qui permet de toucher une très large part des navigateurs. Dans tous les cas, un transpiler, sorte de compilateur JavaScript donc, se chargera de la traduction de manière automatique.

De plus, cela signifie que l’on peut toujours utiliser un code moderne et performant pour les navigateurs de dernière génération et fournir un code d’une autre version pour les navigateurs plus anciens. Que demander de plus ?

Conclusion

Bon il est vrai que je force un peu le trait avec ce titre volontairement provocateur. Avec 97% des sites utilisant jQuery on pourrait croire en son immuabilité. Mais nous savons que le changement peut aller très vite dans le monde du web. Si de plus la webperf est poussé par l’acteur principal de la recherche sur Internet, la problématique de l’usage ou non de jQuery va devenir primordiale pour gagner les précieuses secondes qui différencieront votre site de ceux de vos concurrents en terme d’expérience utilisateur et en terme de référencement.

Articles similaires

Le mystère du LCP introuvable

Technique

15 octobre 2026

Si vous surveillez la perf de vos pages, vous scrutez régulièrement les valeurs de vos LCP. Eh bien, amateurs de sensations fortes, tenez-vous bien :...

Lire la suite de Le mystère du LCP introuvable

CrUX Ads Metrics : la réalité des pubs enfin visible !

Technique

Tendance

17 septembre 2026

Cela fait un moment que Google n’avait pas pondu de nouveaux indicateurs à se mettre sous la dent. Eh bien le 15 septembre dernier, Google...

Lire la suite de CrUX Ads Metrics : la réalité des pubs enfin visible !

Méthode HTTP QUERY : le verbe qui règle enfin le duel GET contre POST

Technique

21 juillet 2026

La méthode HTTP QUERY (RFC 10008) résout le vieux conflit GET vs POST sur les recherches complexes. On regarde où en est vraiment le support.

Lire la suite de Méthode HTTP QUERY : le verbe qui règle enfin le duel GET contre POST

Optimiser le Cache Navigateur avec No-Vary-Search

Technique

20 janvier 2026

Sciemment ou non, vous utilisez certainement des paramètres d’URL. Cela peut être des codes de tracking UTM ajoutés par vos campagnes marketing, des paramètres publicitaires,...

Lire la suite de Optimiser le Cache Navigateur avec No-Vary-Search