La version 5.0 du framework Bootstrap va supprimer jQuery, sa plus grande dépendance côté client
pour du pur JavaScript
Bootstrap n'est plus à présenter aux développeurs Web, car c'est sans doute le framework HTML, CSS et JavaScript le plus populaire pour développer des projets mobiles first et responsives sur le Web. Il offre des outils utiles à la création du design de sites et d'applications Web. C'est un ensemble qui contient des codes HTML et CSS, des formulaires, boutons, outils de navigation et autres éléments interactifs, ainsi que des extensions JavaScript en option. La dernière version majeure, Bootstrap 4.0 a été publiée en janvier 2018, après plus de trois 3 ans de développement et une réécriture majeure de l'ensemble du projet. Elle a donc introduit des changements incompatibles que les développeurs devraient prendre en compte dans leurs projets.
Plus d'un an après la version 4.0, des versions mineures ont été livrées. La dernière, Bootstrap 4.3, date du 11 février. Bootstrap v4.3 vient avec des améliorations aux utilitaires du framework, des corrections de bogues, mais surtout des tailles de polices responsives. Un nouveau projet Bootstrap permet en effet d’automatiser le calcul d’une taille de police appropriée en fonction des dimensions du périphérique du visiteur ou de la fenêtre du navigateur.
Mais juste après la livraison de la v4.3, l'équipe Bootstrap a décidé d'aborder quelques changements clés à venir dans la version v5. À la Une, elle annonce l'abandon de jQuery pour du pur JavaScript. « Le chat est sorti du sac - nous abandonnons notre plus grande dépendance côté client pour du JavaScript pur. Nous y travaillons depuis longtemps et un pull request est en cours et presque terminé », a affirmé l'équipe Bootstrap.
Il s'agit d'un énorme pull request avec des centaines de commentaires étalés sur un an et demi. Selon les commentaires, jQuery a été remplacé par du pur JavaScript (également désigné par le nom Vanilla JS) qui appelle directement les API du navigateur. S'il est souvent désigné comme étant un framework, Vanilla JS ne l'est pas vraiment, c'est du JavaScript sans bibliothèque.
Le concept Vanilla JS a été popularisé fin 2012, avec pour objectif de contrecarrer l’omniprésence des bibliothèques JS comme jQuery. Si vous avez déjà effectué une recherche sur un moteur de recherche suite à une question ou à un problème en codant en JavaScript, vous vous êtes peut-être rendu compte que jQuery et d’autres étaient omniprésents et toujours présentés comme la solution, même sur des questions génériques. C'est pour lutter contre cela que le concept Vanilla JS a été mis en avant. Il vante les mérites de JavaScript. Plutôt que d’utiliser une bibliothèque en surcouche, on peut en effet trouver une solution équivalente qui utilise les fonctions du core JavaScript.
L'argument général pour justifier la suppression de jQuery dans Bootstrap v5 est que maintenant que plus de 95 % des fonctionnalités de jQuery sont désormais natives dans les navigateurs (les 5 % restants étant sans doute des bizarreries excessivement rétrocompatibles qui méritent d'être ignorées), donc ajouter une dépendance JS serait "stupide" ou un gaspillage de bande passante.
Dans la communauté des développeurs, les avis divergent quant à ce changement. Pour certains, c'est une bonne nouvelle. Cela pourra rendre Bootstrap plus attractif et compétitif en tant que framework. Ils reconnaissent que jQuery était l’un des frameworks (bibliothèques) les plus importants de l’histoire JavaScript et il a permis de créer de véritables applications Web. Cependant, depuis lors, les différences entre les navigateurs se sont considérablement réduites et nous avons appris à créer des applications maintenables et évolutives de manière plus déclarative, grâce à des frameworks comme React, Angular et autres. Du coup, jQuery ne serait plus d'une grande utilité. Ils avancent également que c'est généralement bien de pouvoir éliminer une dépendance pour des fonctionnalités natives.
Les autres, par contre, ne comprennent pas pourquoi l'équipe Bootstrap s'est donné tant de mal pour supprimer jQuery. L'API est incompatible, et si vous parcourez les commentaires du pull request, vous allez constater que de nombreux problèmes spécifiques aux navigateurs sont en cours de résolution. Le support d'Internet Explorer a quant à lui été abandonné. Autrement dit, la suppression de jQuery "a tout cassé". Ils estiment aussi que jQuery fait beaucoup de choses utiles et reste un projet intéressant. Il ne devrait pas être utilisé pour tout, mais passer du temps à le supprimer simplement parce que ce n’est plus le framework à la mode semble être une perte de temps.
Enfin, si Bootstrap va supprimer jQuery en tant que dépendance, ses développeurs prévoient d'offrir aux utilisateurs qui en besoin un moyen de l'utiliser.
Sources : Annonce Bootstrap 4.3, Pull request Github (Bootstrap v5 sans jQuery)
Et vous ?
Utilisez-vous Bootstrap ? Si oui, quelle version ? Sinon, pourquoi ? Quelle alternative utilisez-vous ?
Que pensez-vous de la suppression de jQuery dans Bootstrap ? Cela va-t-il vous affecter ? De quelle manière ?
Que pensez-vous de coder en JavaScript pur (également appelé Vanilla JS) au lieu d'utiliser des bibliothèques comme jQuery ? Quels sont les avantages et inconvénients dans chaque cas ?
Voir aussi :
Bootstrap annonce la disponibilité de la version 3.4.0 du framework qui apporte des correctifs de sécurité et des mises à jour essentielles
La version 4.1.2 de Bootstrap est maintenant disponible, et pourrait mettre fin aux problèmes rencontrés avec la version 4.1.1
Bootstrap 4.1 est disponible : des corrections de bogues, de nouvelles classes utilitaires et une mise à jour de la documentation
Bootstrap 4.0 est officiellement disponible : un aperçu des changements notables dans la collection d'outils pour la création de sites Web
Partager