Image décorative d'une machine à écrire avec le mot

Avec toutes les avancées réalisées dans JavaScript et des frameworks plus récents et plus brillants, il est parfois facile d’oublier que WordPress repose toujours sur la bibliothèque jQuery vieillissante. Il en va de même pour des milliers de plugins et de thèmes dans les répertoires officiels de WordPress.

Pour certains, cela peut ressembler à un voyage au milieu des années 2000, une époque où JavaScript ressemblait beaucoup au Far West. jQuery a résolu de nombreux problèmes pour un langage de programmation qui n’avait pas suivi ce que les développeurs devaient accomplir.

Un ticket créé par Aaron Jorbin il y a quatre ans pour déplacer WordPress vers la dernière branche 3.x de jQuery est enfin en train de se concrétiser. Cependant, l’équipe de développement WordPress devra effectuer cette transition par étapes, en particulier après avoir attendu si longtemps.

WordPress a pris du retard dans la mise à jour de jQuery. Pour une plate-forme qui suggère régulièrement que les utilisateurs doivent exécuter la dernière et la meilleure version, il est étrange que WordPress lui-même n’ait pas fait de même avec le code tiers sur lequel il s’appuie. WordPress regroupe actuellement la version 1.12.4 de jQuery, une version de la bibliothèque publiée en 2016. C’est également une version qui prend en charge Internet Explorer 6, 7 et 8.

«Principalement parce que, ces deux dernières années, l’accent s’est déplacé vers d’autres bibliothèques JavaScript plus modernes», a déclaré le développeur principal de WordPress, Andrew Ozz, expliquant pourquoi la plate-forme a pris du retard. «Le nombre de développeurs JavaScript qui contribuent au core est limité et la demande est très élevée.»

À long terme, il a déclaré qu’une option future pourrait être de déplacer complètement l’administrateur de WordPress vers JavaScript natif (vanille), ce qui est un sentiment partagé dans les commentaires sur son message d’annonce à mettre à jour la version de jQuery livré avec WordPress. «Ce serait formidable», a-t-il dit, «et en même temps, un très gros effort.»

Beaucoup trop de thèmes et de plugins s’appuient sur cette version datée de jQuery pour se déplacer plus rapidement. Bien que les plugins puissent choisir de remplacer la version de jQuery fournie par WordPress par la dernière version, les thèmes n’ont pas eu cette option. Les directives officielles du répertoire de thèmes exigent que les thèmes utilisent les scripts fournis par le noyau, y compris jQuery. Il y a une bonne raison à cela: pour la plupart, cela garantit la compatibilité avec les plugins principaux et tiers.

Cependant, il est maintenant temps de passer à autre chose.

Ce que les développeurs et les utilisateurs doivent savoir

Image décorative du code jQuery.

WordPress a un plan en trois étapes pour mettre jQuery à jour. L’équipe principale demande aux développeurs de thèmes et d’extensions de commencer à tester leurs extensions avec le Tester les mises à jour jQuery brancher. Cela les aidera à mettre à jour le code tout au long de cette période de transition.

La première étape de ce processus consistera à supprimer le script jQuery Migrate 1.4.1 de WordPress 5.5, qui était publié plus tôt dans la journée. Cette version de jQuery Migrate rend le code plus ancien compatible et aide les développeurs à migrer vers jQuery 1.9+.

Ce mouvement cassera sans aucun doute certains plugins et thèmes. L’équipe principale a fait le Activer jQuery Migrate Helper plugin disponible pour les utilisateurs finaux. «Il est destiné à être exécuté en production sur des sites qui connaissent des problèmes liés à jQuery après la mise à jour vers la version 5.5», a déclaré Ozz. «Cela fonctionne en réactivant jQuery Migrate et en affichant les avertissements concernant l’utilisation de fonctions jQuery obsolètes / obsolètes aux administrateurs du site.»

L’objectif à long terme est d’amener les développeurs à mettre à jour leurs extensions. En attendant, ce plugin devrait atténuer certains des problèmes.

Ozz a déclaré que la plus grande chose que les développeurs doivent faire pour le moment est de s’assurer qu’ils testent leurs extensions avec WordPress 5.5. «Idéalement, accorder plus d’attention à tous les anciens scripts basés sur jQuery et confirmer qu’ils fonctionnent toujours comme prévu», a-t-il poursuivi. «Dans presque tous les cas, les correctifs sont insignifiants.»

Au-delà de WordPress 5.5, les choses vont commencer à prendre forme. Le plan provisoire est de mettre à jour vers la dernière version de jQuery et d’ajouter la dernière version de jQuery Migrate dans le cadre de la version WordPress 5.6.

« Encore une fois, Migrate sera utilisé pour aider à mettre à jour les scripts basés sur jQuery, et aussi comme un » correctif « de compatibilité descendante pendant que les plugins et les thèmes seront mis à jour », a déclaré Ozz. «La version de Migrate dans WordPress 5.6 sera différente, car elle correspondra à la dernière version de jQuery. Il servira au même objectif que lors de son ajout pour la première fois, mais aidera désormais le noyau, les plugins et les thèmes à être mis à jour de jQuery 1.12.4 à 3.5.1 (ou version ultérieure). »

La troisième étape du processus consistera à supprimer à nouveau jQuery Migrate de WordPress. Ce changement est provisoirement prévu pour WordPress 5.7, qui ne sortira pas avant 2021. L’objectif final est de supprimer la dépendance à Migrate et d’expédier la dernière version de jQuery jusqu’à un jour – peut-être loin dans le futur – il ne sera peut-être plus nécessaire pour le regrouper avec WordPress du tout.

«En suivant les meilleures pratiques et les recommandations de l’équipe jQuery, Migrate doit être utilisé comme un outil d’aide, et non comme une solution de rétrocompatibilité permanente», a déclaré Ozz. «Idéalement, WordPress pourra le faire.»


Source link