This repository has been archived by the owner on May 20, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 86
Scelte tecniche
Danilo Spinelli edited this page Oct 11, 2016
·
10 revisions
- L'utilizzo di Sass è spesso accoppiato a quello di PostCSS (autoprefixer e/o cssnano) pertanto la scelta è stata escludere Sass per semplificare lo stack risparmiando una tecnologia
- È possibile utilizzare PostCSS con la sintassi di Sass
- Tuttavia è stato ritenuto opportuno non farlo (es. lasciando fuori i mixin) e utilizzare invece una sintassi più vicina ai prossimi standard CSS (es. variabili custom) con un approccio future-proof (http://cssnext.io/). È ipotizzabile fare a meno di qualche plugin quando il supporto dei browser sarà migliore
- SuitCSS non è un framework di componenti; è una libreria di classi di utilità che possono o meno esser utilizzate. In questo modo i componenti possono essere definiti in maniera totalmente autonoma
- La longevità di una classe di utilità è superiore a quella delle classi per i componenti: è probabile che una classe del tipo
u-floatLeft { float: left; }
non sarà mai rifattorizzata e, laddove dovesse accadere, è ipotizzabile poterla mantenere internamente - A differenza di Bootstrap SuitCSS ha delle rigide regole di nomenclatura, il che facilita la collaborazione senza "interferenze" limitando nel contempo il CSS globale (le classi sono tutte in opt-in)
- La semantica dell'HTML riguarda l'utilizzo corretto dei tag (es.
section
onav
al posto didiv
) e non le classi applicate agli elementi; i nomi delle classi veicolano un'informazione per gli sviluppatori, non servono alle macchine né agli utenti - Attingere a un parco di classi di utilità è senza ombra di dubbio utile, tant'è che sono state introdotte anche in Bootstrap4, una tendenza che va di pari passo con l'affermarsi di framework quali Tachyons o BassCSS nonché l'utilizzo di stili inline o CSS modules per framework Javascript quali React
- Molte tra le problematiche segnalate nell'articolo Why You Should Avoid Sass @extend non si verificano utilizzando il corrispondente plugin di PostCSS.
- Il resto delle problematiche è risolto limitando l'utilizzo di
@extend
alle sole classi di utilità, il che ne scongiura gli effetti collaterali (ref. https://marvelapp.com/styleguide/overview/introduction) - Solo tramite
@extend
è possibile riutilizzare le classi di utilità all'interno del CSS; ciò risulta particolarmente significativo per il riuso delle classi responsive (es. tipografia, margini e padding)