Il y a de bonnes raisons d’utiliser des variables, peut-être ne nous y attardons pas ici. C’est un bon point cependant de ne pas débattre de la nature du CSS. J’aurais dû mieux formuler cela : il ne s’agit pas de sa nature, mais des meilleures pratiques pour styliser un framework basé sur des composants. Et je suis tout à fait d’accord que les boutons sont un autre bon exemple de la façon dont celles-ci ne peuvent pas être correctement appliquées.
En considérant la situation dans son ensemble, un effort concerté a été fait pour moderniser le côté JavaScript du framework frontend. Et je pense que ce fut un succès retentissant. Travailler avec des normes claires et des classes bien structurées est maintenant vraiment agréable. Pour moi, en tant que designer, cela a également ouvert des opportunités pour construire de nouveaux composants frontend plus facilement et plus efficacement.
Cependant, je n’arrive pas à me défaire de l’impression qu’il n’y a pas d’engagement similaire à amener le système de conception aux mêmes normes. Bien que l’ajout de variables CSS pour chaque aspect soit certainement plus performant et plus propre que l’approche actuelle, cela donne toujours l’impression d’éviter les problèmes architecturaux plus profonds : une base de code pleine de déclarations trop spécifiques et sans styles clairs limités aux composants. Cela ressemble à une solution « plus facile » qui évite le problème plus difficile : aligner pleinement l’architecture de style avec la conception modulaire du framework.
Je comprends que cela entraînerait beaucoup de travail et des problèmes de compatibilité ascendante. Mais l’équipe a relevé ces défis avec succès du côté JavaScript. Si JavaScript continue de recevoir beaucoup plus de ressources que les styles, cette disparité se reflétera dans les conceptions finales. Et les utilisateurs ressentiront la différence, même s’ils ne peuvent pas l’articuler.
J’aimerais simplement voir la même énergie de modernisation appliquée à l’architecture CSS, car je suis convaincu que les avantages à long terme pour l’expérience développeur et utilisateur seraient transformateurs.