00:00:00jQuery 4 est enfin arrivé, et rassurez-vous, vous n'avez pas remonté le temps : il s'agit
00:00:04simplement de notre première mise à jour majeure depuis 2016. Elle est en bêta depuis 2 ans et elle
00:00:09débarque 20 ans après le tout premier lancement de jQuery.
00:00:12Et vous serez peut-être surpris d'apprendre que jQuery reste crucial. 88 % de tous les sites web
00:00:17l'utilisent encore, probablement grâce à WordPress, mais on constate aussi que de très
00:00:21grands noms l'exploitent toujours. Après tout, on ne change pas une équipe qui gagne.
00:00:25Sauf que cette mise à jour pourrait bien casser certaines choses, car ils en ont profité pour
00:00:29opérer tous les changements de rupture attendus depuis des années, comme l'élagage du code obsolète,
00:00:32la suppression des API dépréciées et des fonctions non documentées, sans oublier une foule de correctifs.
00:00:38Alors plongeons dans le vif du sujet pour examiner les changements clés et voir le chemin
00:00:42parcouru par jQuery en 20 ans.
00:00:49Premier grand changement : versez une larme pour Internet Explorer 10 et ses prédécesseurs.
00:00:53Leur support est désormais abandonné, mais pas de panique si vous regardez ceci sur Internet Explorer
00:00:5811. Son support ne s'arrêtera qu'avec jQuery 5, vous avez donc encore le temps de cliquer sur
00:01:02le bouton s'abonner. Parallèlement, ils ont aussi délaissé Edge Legacy, les versions d'iOS
00:01:07antérieures aux 3 dernières, Firefox avant les 2 dernières versions, ainsi que le navigateur Android.
00:01:12On assiste donc à une véritable modernisation. D'ailleurs, les 3 changements suivants vont dans ce sens.
00:01:17Concernant le deuxième changement, ils migrent le code source de jQuery d'AMD vers les modules ES,
00:01:22il devrait donc maintenant s'intégrer parfaitement à Vite, Webpack et aux systèmes de build modernes.
00:01:27Alors pourquoi ne pas essayer de l'installer dans votre prochain projet, juste pour le plaisir
00:01:31ou par pure nostalgie.
00:01:33Et en parlant de nostalgie, cette mise à jour illustre bien l'évolution fulgurante
00:01:36du JavaScript. Pour le troisième changement, ils ont supprimé une série de fonctions jQuery
00:01:41car JavaScript a fini par rattraper son retard. Cela inclut isArray, parseJSON, trim, now,
00:01:46isNumeric, isFunction, et bien d'autres. On peut désormais faire presque tout cela directement
00:01:51en JavaScript pur sans bibliothèque supplémentaire. C'est assez fou de se dire qu'il nous fallait
00:01:56un outil externe pour ces tâches au départ, mais c'est ainsi que
00:02:00les langages évoluent.
00:02:01Et en parlant d'évolution, les navigateurs progressent aussi. Pour le quatrième changement,
00:02:06dernier volet de cette modernisation, ils ont enfin corrigé l'ordre du focus. Si vous l'ignoriez,
00:02:11les navigateurs n'ont pas toujours été d'accord sur l'ordre des événements focus et blur. jQuery
00:02:15avait donc sa propre définition pour garantir une cohérence partout. Mais aujourd'hui, avec
00:02:20l'abandon des vieux navigateurs, tous les navigateurs supportés (sauf IE) suivent le
00:02:24même ordre exact, jQuery ne va donc plus surcharger le comportement natif.
00:02:29On voit vraiment que l'équipe a voulu moderniser jQuery, car beaucoup de ce qui faisait sa force
00:02:34par le passé a fini par être intégré nativement à JavaScript de toute façon.
00:02:38Mais il reste des aspects de jQuery à moderniser, comme les “deferreds” et les callbacks qui peuvent être
00:02:42remplacés par des promesses (sauf sous IE11), ou certaines animations autrefois faites
00:02:47avec jQuery qui sont maintenant très simples à réaliser en CSS. Si vous voulez aller
00:02:52encore plus loin, ils ont conçu une version “slim” qui retire une partie de ces modules
00:02:55pour ne peser que 19,5 kilo-octets. Je trouve que c'est une excellente approche que
00:03:01de proposer ces fonctions dans le pack complet pour ceux qui en ont besoin,
00:03:04tout en offrant une version allégée sans tout le superflu devenu inutile aujourd'hui.
00:03:08Voilà pour les gros titres, mais il y a évidemment eu une tonne de corrections de bugs
00:03:12et d'ajustements mineurs, dont certains datent d'il y a des années. Le plus vieux trouvé remonte à 2014
00:03:17et concernait la conversion automatique de JSON en JSONP, ce qui est désormais corrigé.
00:03:22Il y a même un souci de 2015, que j'ai moi-même rencontré, où le setter CSS de jQuery
00:03:28ajoutait automatiquement “px” à n'importe quel nombre sans unité. C'est également
00:03:33rectifié. Il y a énormément d'autres choses à explorer par vous-mêmes.
00:03:37Il y a même des corrections mineures comme des coquilles. Mais cela prendrait trop de temps en vidéo.
00:03:42Personnellement, je voulais juste jeter un œil à jQuery, voir son évolution, car c'est un
00:03:46pan incroyable de l'histoire du web. Et c'est peut-être même impoli de parler d'histoire
00:03:51alors qu'il est encore si activement utilisé et maintenu. Évidemment, je n'utiliserais pas
00:03:56jQuery aujourd'hui à la place de React ou d'un framework moderne, mais cela rappelle que le web
00:04:01est bâti sur des couches technologiques. Parfois, les outils simples, vieux et ennuyeux
00:04:06sont ceux qui maintiennent la structure du web, surtout pour les vieilles applications cruciales.
00:04:10Je suis curieux : parmi ceux qui sont encore là, avez-vous utilisé jQuery ou l'utilisez-vous
00:04:15toujours ? Dites-le moi en commentaire, et n'oubliez pas de vous abonner. Comme toujours,
00:04:19à la prochaine !