Framework CSS e altre tendenze pericolose per il design di questo standard

Framework CSS e altre tendenze pericolose per il design di questo standard

I framework CSS sono davvero utili e diventano spesso fondamentali solo quando l'uso che se ne fa è motivato da reali esigenze di sviluppo. In tutti gli altri casi si parla di abuso o per lo meno di un uso sconsiderato di tali framework.

In un post sul blog di Html.it avevo scritto:

Fino a qualche anno fa i CSS erano un linguaggio progettato per essere semplice da usare e da gestire. L’esempio più convincente di questa loro caratteristica era sicuramente CSS Zengarden, che da una comune struttura HTML mostrava come fosse possibile creare layout di notevole impatto visivo. Il culmine si ebbe nel biennio 2006 - 2008 e coincise con l’avvento dei social network. Di colpo i CSS furono costretti a dover gestire layout non complessi da un punto di vista grafico (Facebook è sostanzialmente semplice a livello di impaginazione) ma sicuramente impegnativi per il numero di strutture HTML da formattare. Da lì gli sviluppatori sentirono la necessità di condensare alcuni pattern e best practices in strumenti per il riutilizzo del codice e la semplificazione del workflow. Nacquero così i framework CSS.

Il problema dei framework CSS oggi è costituito dall’abuso che molti sviluppatori ne fanno. Questi framework sono infatti progettati per gestire progetti di grandi dimensioni, e il loro design concept è appunto quello.

Usare questi framework per piccoli o medi progetti è come uccidere una mosca con un bazooka. I pattern usati in questi framework hanno una reale utilità solo quando (come si è detto) le strutture HTML sono molto numerose e complesse.

Molti sviluppatori usano questi framework anche su template e temi per CMS. Un difetto di questi framework è quello di ridurre l’impaginazione degli elementi a degli insiemi di griglie basati su calcoli matematici precisi. Il problema è che se invece di avere un contenitore a 960 pixel siamo costretti ad usarne uno a 750 o a 787, l’intero sistema di calcoli va rivisto.

Questi framework, a livello di creatività, tendono inoltre a ridurre ad un minimo comun denominatore tutti i layout. Il rischio è quello di avere una serie infinita di siti praticamente identici, salvo alcune differenze grafiche, come i colori, i font o le immagini.

Il succo è questo: i framework CSS vanno usati quando ce n’è un reale ed effettivo bisogno, e non per dimostrare che si è al passo coi tempi. Il rischio è quello di delegare ad un codice scritto da altri le nostre decisioni in fatto di layout.

E non possiamo correre questo rischio.

Il primo commento testimonia come questi framework siano utili in situazioni di emergenza:

D'accordissimo, i framework CSS sono spesso abusati, ma bisogna anche dire che a volte ci si trova di fronte a progetti che dovevano essere pronti ieri, e retribuiti nulla, e usare un framework CSS aiuta tantissimo.

Tuttavia ciò non toglie che usare sempre questi framework annulla il potenziale dei CSS, ossia quello di dare spazio alla creatività ed all'originalità dello sviluppatore o del designer.

La mia risposta evidenzia un punto importante: questi framework non sono altro che collezioni di design pattern CSS collaudati da anni:

I framework CSS sono utilissimi, ma come mia personale scelta ho deciso di utilizzarne solo le parti che effettivamente trovo utili. Una semplice considerazione sul rapporto tra responsive design e framework CSS: quello che oggi si dice responsive esiste in realtà già da anni sotto altri nomi. Un esempio, dal 2004, sono gli esempi di Gianluca Troiani per la sua guida sui CSS. Gli esempi di Gianluca già all’epoca funzionavano perfettamente su dispositivi mobile che oggi definiamo preistorici. A maggior ragione questi esempi funzioneranno ancora meglio oggi. Il punto è questo: il design CSS di per sè tende ad essere cross-platform e cross-device, e questo proprio per l’impostazione data a questo linguaggio di stile. I framework CSS vengono dopo tutto questo, e si limitano a mettere insieme dei pattern e delle pratiche conosciute da anni sotto altre forme e nomi.

Sostanzialmente ammetto la fondamentale utilità dei framework CSS, ma non la loro sopravvalutazione e la convinzione che senza di essi il design con i CSS non sia possibile o per lo meno difficoltoso.

LESS ad esempio aggiunge un livello ulteriore di difficoltà al processo di sviluppo in quanto rompe la semplicità del design originale dei CSS per aggiungere componenti estranei al linguaggio. Le variabili, ad esempio, sono estranee alla semplicità dei CSS e costringono i non-programmatori ad un notevole sforzo.

Il CSS Working Group mi sembra stia andando nella direzione sbagliata promuovendo caratteristiche che vengono meno al principio della semplicità del design dei CSS, forse sotto la spinta di questi nuovi framework che vanno nascendo.

I CSS devono restare semplici da usare: la continuità deve prevalere sulle mode del momento.

Torna su