Ci sono troppi CSS adesso? Intelligenza dei dati PlatoBlockchain. Ricerca verticale. Ai.

C'è troppo CSS adesso?

Come sviluppatori front-end, abbiamo desiderato molte cose nel corso degli anni: modi per centrare le cose nei CSS, incapsulare gli stili, impostare le proporzioni di un elemento, ottenere un controllo più dettagliato sui nostri colori, selezionare un elemento in base al suo proprietà dei bambini, gestire livelli di specificità, consentire agli elementi di rispondere all'ampiezza dei loro genitori... l'elenco potrebbe continuare all'infinito.

E ora che abbiamo ottenuto tutto ciò che desideravamo e anche di più, alcuni di noi si stanno chiedendo: ora abbiamo troppo CSS?

I tempi bui

Se tu, come me, sei nato nello sviluppo web durante l'infanzia dei CSS, l'idea di averne troppo sembra ridicola.

Ai tempi, praticamente l'intera descrizione del lavoro di uno sviluppatore front-end consisteva nell'affrontare i limiti dei CSS. Il trucco chiaro per cancellare i galleggianti, il Hacking del riempimento al 100%. per fare div quadrati, per non parlare dell'applicazione semi-casuale di proprietà non correlate per indurre Internet Explorer a eseguire le tue offerte.

A quel tempo, il browser era un nemico subdolo da sconfiggere attraverso pura astuzia e incantesimi arcani. Oggi, la proprietà perfetta è in attesa e basta un copia-incolla su MDN.

La nuova era dei CSS

Ma oggi le cose sono molto diverse: non solo le cose si muovono molto più velocemente, ma anche i fornitori di browser davvero importa sul rendere felici gli sviluppatori! Lo so, non potevo crederci neanche io. Ma corro l'annuale Stato della CSS sondaggio per sviluppatori (che è apri ora tra l'altro - vai a prenderlo!) e so per certo che i team di sviluppo del browser utilizzano i risultati del sondaggio (tra molti altri punti dati) per informare la loro tabella di marcia.

Oltre a questo, Google ha anche contribuito a finanziare il mio lavoro sul sondaggio e persino assunto Lea Veru assumere un ruolo guida nella selezione delle domande del sondaggio di quest'anno.

Non è solo Google. È diventato di moda prendere in giro Safari e Apple in generale (a volte meritatamente), ma non puoi negare quanto piaccia a qualcuno un appassionato Jennifer Simmons riguarda l'ascolto degli sviluppatori e il miglioramento del web.

E non solo i fornitori di browser stanno migliorando i CSS da soli; stanno anche collaborando attraverso le linee di battaglia con iniziative come Interoperabilità 2023 per aiutare a ridurre le incoerenze e le incompatibilità tra i browser.

Troppo di una cosa buona?

Il risultato di tutto questo è che ora ci troviamo di fronte a un imbarazzo per le ricchezze CSS e può essere difficile recuperare il ritardo. Griglia CSS ha iniziato a essere supportato nei principali browser quasi cinque anni fa, ma continuo a controllare un riferimento ogni volta che lo uso. E bello come sottogriglia sembra, devo ancora provarlo.

Durante il processo di selezione quali funzionalità CSS includere o meno nello stato dei CSS, Lea ed io abbiamo considerato molte caratteristiche, ma ne abbiamo anche rifiutate alcune. Alcuni esempi della caratteristica we non ha includono sono:

  • I linear() funzione di allentamento, che consente di definire le curve di andamento con maggiore granularità. 
  • I env() function, che consente di utilizzare variabili definite dal browser o dal dispositivo. 
  • I scrollbar-width proprietà, che aiuta a controllare l'aspetto di una barra di scorrimento. 
  • I margin-trim proprietà, che consente di controllare il comportamento dei margini dei figli di un contenitore. 

Questi sono tutti potenzialmente molto utili e sarebbero stati tutti grandi notizie durante la siccità dei CSS degli anni passati. Ma nel contesto odierno devono lottare per attirare l'attenzione con annunci molto più grandi, come il selettore has() o il nesting CSS!

Non eccitato

Come Silvestar Bistrovic scrive, "non è così entusiasta di tutte queste nuove funzionalità CSS". Questo ha trovato eco su Twitter, con Sara Sueidan affermando che ciò che le interessa è "la praticità, non l'aspetto brillante di una caratteristica al momento".

Questo può sembrare un atteggiamento negativo, ma penso che sia comprensibile. Nessuno può tenere il passo con così tante nuove funzionalità!

Un'altra conseguenza involontaria (o forse voluta?) è che più il CSS diventa complesso, più alza il livello per qualsiasi nuova azienda che desideri sviluppare un motore browser, per non parlare del carico di lavoro aggiunto quando si tratta di mantenere e documentare tutto queste nuove funzionalità. 

Superamento dei CSS

C'è anche la preoccupazione molto valida che i CSS potrebbero espandersi in aree che non è del tutto adatto da gestire. Questa è un'altra cosa che Sara Soueidan ha sottolineato quando ha reagito alla nuova implementazione sperimentale CSS Toggles (ecco un biglietto che ne parla):

Molti hanno affermato in modo molto ragionevole che questo tipo di comportamento sarebbe gestito al meglio da un nuovo elemento HTML invece di gestire lo stato di commutazione esclusivamente tramite CSS e che i CSS potrebbero non essere il mezzo migliore per garantire che i problemi di accessibilità vengano affrontati correttamente. 

Quando CSS assume qualcosa che era precedentemente gestito tramite JavaScript, questo è generalmente visto come una cosa positiva, poiché spesso riduce la quantità di codice che il browser deve caricare. Quindi, sono cautamente ottimista sui CSS Toggles e confido che il CSS Working Group affronterà adeguatamente le preoccupazioni della comunità. Ma potrebbe ancora arrivare un giorno in cui inizieremo a preoccuparci che i CSS possano espandersi oltre i suoi confini e invadere le responsabilità di HTML e JavaScript.

Nuove aspettative

E forse questo è ciò che deve cambiare: forse dovremmo abbandonare l'aspettativa che gli sviluppatori CSS devono conoscere contro tutti i di CSS? 

Questa aspettativa deriva dai giorni in cui i CSS erano un ripensamento, quella piccola sintassi fastidiosa che dovevi imparare per rendere il tuo pulsante blu e in grassetto proprio come chiedeva il client. Ma penso che dobbiamo accettare che il CSS di oggi potrebbe essere troppo vasto per essere padroneggiato da una sola persona, specialmente oltre ad altri compiti di front-end.

As Michele Barker mette:

Ed è lì che io, io stesso, atterro alla fine. Ho fatto pace con il fatto che probabilmente non userò mai - o addirittura conoscerò - tutte le possibili funzionalità CSS. E questo viene da qualcuno che esegue un sondaggio sui CSS!

Ma queste nuove funzionalità saranno sicuramente utili qualcuno. Qualcuno scriverà post sul blog su di loro, creerà fantastici CodePen con loro, parlerà di loro. Quella persona sarà uno sviluppatore simpatico, giovane ed energico che ha ancora tutti i capelli. In altre parole, non sarò io — e va bene. 

E forse sei preoccupato che questo nuovo sviluppatore sarà sopraffatto da tutte le cose che devono imparare in una volta. Ma tieni a mente tutte le cose che loro no deve imparare, proprio perché è stato sostituito da queste nuove alternative. So che accetterei quell'accordo in qualsiasi momento.

Ma pensaci: negli ultimi due anni, non solo abbiamo assistito a un enorme aumento del numero di dispositivi di cui abbiamo bisogno, ma abbiamo anche iniziato a riconoscere che consumiamo tutti il ​​Web in modi leggermente diversi, sia a causa a disabilità, contesto attuale o semplicemente preferenze personali. La CSS non dovrebbe adattarsi a questa nuova realtà?

Ora, devo confessare che tutto questo mi ha fatto sentire un po' nostalgico... quindi scusami mentre esco da un paio di carri allegorici, solo per amore dei vecchi tempi.


Come ho già detto, l'annuale Indagine sullo stato della CSS è ora aperto. Che tu pensi che ci siano troppi CSS o meno, il sondaggio è un ottimo modo per far sapere agli sviluppatori di browser come ti senti, quindi vai a compilarlo se hai 10 minuti 

Timestamp:

Di più da Trucchi CSS