Y a-t-il trop de CSS maintenant ? Intelligence des données PlatoBlockchain. Recherche verticale. Aï.

Y a-t-il trop de CSS maintenant ?

En tant que développeurs front-end, nous avons souhaité beaucoup de choses au fil des ans - des moyens de centrer les éléments dans CSS, d'encapsuler des styles, de définir le rapport d'aspect d'un élément, d'obtenir un contrôle plus précis de nos couleurs, de sélectionner un élément en fonction de son les propriétés des enfants, gérer les couches de spécificité, permettre aux éléments de répondre à la largeur de leurs parents… la liste s'allonge encore et encore.

Et maintenant que nous avons obtenu tout ce que nous souhaitions et plus encore, certains d'entre nous demandent - avons-nous maintenant trop CSS ?

Les temps sombres

Si, comme moi, vous avez découvert le développement Web au début de CSS, l'idée d'en avoir trop semble ridicule.

À l'époque, la quasi-totalité de la description de poste d'un développeur front-end consistait à gérer les limitations de CSS. Le pirater clearfix pour dégager les flotteurs, le 100% de rembourrage pour créer des divs carrés, sans parler de l'application semi-aléatoire de propriétés non liées pour tromper Internet Explorer afin qu'il fasse vos enchères.

À l'époque, le navigateur était un ennemi sournois qu'il fallait vaincre par des incantations rusées et obscures. Aujourd'hui, la propriété parfaite n'attend qu'un copier-coller sur MDN.

La nouvelle ère du CSS

Mais aujourd'hui, les choses sont très différentes : non seulement les choses évoluent beaucoup plus rapidement, mais les fournisseurs de navigateurs se soucie réellement pour rendre les développeurs heureux ! Je sais, je n'y croyais pas non plus. Mais je cours l'année État du CSS enquête auprès des développeurs (qui est ouvert maintenant au fait - allez le prendre!) et je sais pertinemment que les équipes de développement de navigateurs utilisent les résultats de l'enquête (parmi de nombreux autres points de données) pour informer leur feuille de route.

Au-delà de cela, Google a également aidé à financer mon travail sur l'enquête, et a même embauché Léa Vérou prendre l'initiative de sélectionner les questions du sondage de cette année.

Il n'y a pas que Google. C'est devenu à la mode de dénigrer Safari et Apple en général (parfois à juste titre), mais vous ne pouvez pas nier à quel point quelqu'un comme Jennifer Simmons est d'écouter les développeurs et d'améliorer le Web.

Et non seulement les fournisseurs de navigateurs améliorent CSS par eux-mêmes ; ils collaborent même au-delà des lignes de bataille avec des initiatives telles que Interopérabilité 2023 pour aider à réduire les incohérences et les incompatibilités entre les navigateurs.

Trop d'une bonne chose?

Le résultat de tout cela est que nous sommes maintenant confrontés à un embarras de richesses CSS, et il peut être difficile de rattraper son retard. Grille CSS a commencé à être pris en charge par les principaux navigateurs il y a près de cinq ans, mais je vérifie toujours une référence à chaque fois que je l'utilise. Et aussi cool que sous-réseau semble, je n'ai même pas encore essayé.

Lors du processus de sélection quelles fonctionnalités CSS inclure ou non dans l'état du CSS, Lea et moi-même avons envisagé de nombreuses fonctionnalités, mais nous en avons également rejeté plusieurs. Quelques exemples de la fonctionnalité que nous n'a pas comprennent sont :

  • La linear() fonction d'accélération, qui vous permet de définir des courbes d'accélération avec plus de granularité. 
  • La env() fonction, qui vous permet d'utiliser des variables définies par le navigateur ou l'appareil. 
  • La scrollbar-width propriété, qui permet de contrôler l'apparence d'une barre de défilement. 
  • La margin-trim , qui vous permet de contrôler le comportement des marges des enfants d'un conteneur. 

Ceux-ci sont tous potentiellement très utiles et auraient tous été de grandes nouvelles pendant la sécheresse CSS des dernières années. Mais dans le contexte actuel, ils doivent se battre pour attirer l'attention avec des annonces beaucoup plus importantes, comme le sélecteur has() ou l'imbrication CSS !

Pas excité

Comme Silvestar Bistrović écrit, il n'est "pas très enthousiasmé par toutes ces nouvelles fonctionnalités CSS". Cela a trouvé un écho sur Twitter, avec Sara Soueidan déclarant que ce qui l'intéresse, c'est "l'aspect pratique, pas la brillance d'une fonctionnalité pour le moment".

Cela peut sembler une attitude négative, mais je pense que c'est compréhensible. Personne ne peut s'attendre à suivre autant de nouvelles fonctionnalités !

Une autre conséquence involontaire (ou peut-être voulue ?) est que plus le CSS devient complexe, plus il élève la barre pour toute nouvelle entreprise souhaitant développer un moteur de navigateur - sans parler de la charge de travail supplémentaire lorsqu'il s'agit de maintenir et de documenter tous ces nouvelles fonctionnalités. 

Dépassement CSS

Il y a aussi la préoccupation très valable que CSS puisse se diversifier dans des domaines qu'il n'est pas tout à fait approprié de gérer. C'est une autre chose que Sara Soueidan a souligné en réagissant à la nouvelle implémentation expérimentale de CSS Toggles (voici un billet qui en parle):

Beaucoup ont fait valoir très raisonnablement que ce type de comportement serait mieux géré par un nouvel élément HTML au lieu de gérer l'état de basculement uniquement via CSS, et que CSS n'est peut-être pas le meilleur moyen de garantir que les problèmes d'accessibilité sont correctement résolus. 

Lorsque CSS reprend quelque chose qui était auparavant géré par JavaScript, cela est généralement considéré comme une bonne chose, car cela réduit souvent la quantité de code que le navigateur doit charger. Je suis donc prudemment optimiste à propos de CSS Toggles et j'espère que le groupe de travail CSS répondra correctement aux préoccupations de la communauté. Mais il se peut qu'un jour nous commencions à nous inquiéter que CSS puisse s'étendre au-delà de ses frontières et empiéter sur les responsabilités de HTML et JavaScript.

De nouvelles attentes

Et c'est peut-être ce qui doit changer : peut-être devrions-nous abandonner l'attente que les développeurs CSS doivent savoir TOUTE du CSS ? 

Cette attente découle de l'époque où CSS était une réflexion après coup, cette petite syntaxe ennuyeuse que vous deviez apprendre pour rendre votre bouton bleu et gras, tout comme le client l'avait demandé. Mais je pense que nous devons accepter que le CSS d'aujourd'hui soit bien trop vaste pour être maîtrisé par une seule personne, en particulier en plus d'autres tâches frontales.

As michelle barker il met:

Et c'est là que moi-même, j'atterris à la fin. J'ai fait ma paix avec le fait que je n'utiliserai probablement jamais - ni même ne connaîtrai - toutes les fonctionnalités CSS possibles. Et cela vient de quelqu'un qui mène une enquête sur CSS!

Mais ces nouvelles fonctionnalités seront sûrement utiles pour quelqu'un. Quelqu'un écrira des articles de blog à leur sujet, créera des CodePens sympas avec eux, donnera des conférences à leur sujet. Cette personne sera un développeur cool, jeune et énergique qui a encore tous ses cheveux. En d'autres termes, ce ne sera pas moi - et c'est très bien. 

Et peut-être craignez-vous que ce nouveau développeur soit submergé par tout ce qu'il doit apprendre en même temps. Mais gardez à l'esprit toutes les choses qu'ils ne sera pas devez apprendre, précisément parce qu'il a été remplacé par ces nouvelles alternatives. Je sais que j'accepterais cet accord n'importe quand.

Mais réfléchissez-y : au cours des deux dernières années, nous avons non seulement constaté une augmentation considérable du nombre d'appareils auxquels nous devons répondre, mais nous avons également commencé à reconnaître que nous consommons tous le Web de manières légèrement différentes, que ce soit en raison aux handicaps, au contexte actuel ou simplement aux préférences personnelles. CSS ne devrait-il pas s'adapter à cette nouvelle réalité ?

Maintenant, je dois avouer que tout cela m'a rendu un peu nostalgique… alors excusez-moi pendant que je nettoie quelques chars, juste pour le bon vieux temps.


Comme je l'ai mentionné, l'année Enquête sur l'état du CSS est maintenant ouvert. Que vous pensiez qu'il y a trop de CSS ou non, l'enquête est un excellent moyen de faire savoir aux développeurs de navigateurs ce que vous ressentez, alors allez le remplir si vous avez 10 minutes. 

Horodatage:

Plus de Astuces CSS