Annoncée le 17 janvier, la version 4.0.0 de la bibliothèque JavaScript jQuery, toujours très utilisée, est désormais disponible. Célébrée comme la première version majeure depuis près de 10 ans, elle prend en charge les Trusted Types et offre une architecture plus légère. Les types de confiance garantissent que le code HTML de l'interface TrustedHTML peut être saisi dans les méthodes de manipulation jQuery conformément à la directive required-trusted-types-for de la politique de sécurité du contenu (Content Security Policy, CSP) du navigateur. De plus, alors que certaines requêtes AJAX utilisaient déjà des balises script pour conserver des attributs comme crossdomain , les développeurs de jQuery ont fait passer la plupart des requêtes de scripts asynchrones à l'utilisation de balises script afin d'éviter toute erreur CSP causée par des scripts inline. Dans certains cas encore, il arrive qu’un XHR soit utilisé pour les requêtes de scripts asynchrones, par exemple lorsque l'option "headers" est transmise, mais la balise script est utilisée dans la mesure du possible.
L’architecture de la bibliothéque a également été allégée, grâce à la suppression des objets différés (Deferred Object) et des fonctions de rappel (callbacks). Les objets différés prennent depuis longtemps en charge la norme Promises A+ pour les promesses JavaScript (objet pour réaliser des traitements asynchrones) interopérables ; cependant, dans la plupart des cas, les promesses natives, disponibles dans tous les navigateurs pris en charge par jQuery à l'exception d'IE 11, peuvent être utilisées. Et même si les objets différés offrent certaines fonctionnalités supplémentaires non prises en charge par les promesses natives, la plupart des utilisations peuvent être migrées vers les méthodes Promise, selon l'annonce. Pour les développeurs qui doivent prendre en charge Internet Explorer 11, il est préférable d'utiliser la version build principale ou d'ajouter une prothèse d'émulation (polyfill) pour les promesses natives. IE 10 et les versions antérieures ne sont pas prises en charge dans jQuery 4.0.0.
D’autres évolutions
Parmi les autres points de forts de la dernière version, on peu citer l'ordre des événements « focus » qui suit dorénavant la spécification du World Wide Web Consortium (W3C), ce qui aligne jQuery sur celui pris en charge dans les dernières versions de la plupart des navigateurs. Focus diffère de celui utilisé dans les anciennes versions de jQuery, c’est donc un changement radical. À partir de jQuery 4.0.0, la bibliothèque ne prend plus en charge le remplacement du comportement natif et suivra la spécification W3C actuelle : blur, focusout, focus, focusin. Par ailleurs, les méthodes exclusivement internes ont été supprimées du prototype jQuery. Ce prototype incluait des méthodes Array qui ne se comportaient pas comme les autres méthodes jQuery et étaient destinées uniquement à un usage interne. Les développeurs qui utilisaient les méthodes push, sort et splice supprimées peuvent remplacer $elems.push( elem par [].push.call( $elems, elem ). Enfin, avec la sortie de la version 4.0.0, jQuery 3.x ne recevra désormais que des mises à jour critiques.
Après 20 années d’existence, la bibliothèque est toujours utilisée par 70,9 % de tous les sites web, selon une enquête sur les technologies web de W3Techs. Désormais sous la juridiction de la Fondation OpenJS, jQuery cherche à simplifier certaines fonctionnalités comme la traversée et la manipulation de documents HTML, la gestion des événements et l'animation via une API pouvant fonctionner sur une multitude de navigateurs.

Commentaire