Chris Coyier ha una fantastica carrellata di SASS vs LESS su css-tricks.com . Vale sicuramente la pena leggere.
Come per alcune delle tue domande specifiche:
Comunità
Lavoro interamente con SASS / Compass, quindi non ho familiarità con la comunità di LESS, ma non ho nemmeno avuto veramente bisogno della community di SASS. La loro documentazione è fantastica e ha risolto tutti i problemi che ho incontrato finora.
Per quello che vale, però, qui ci sono le statistiche SASS vs LESS che Chris ha nel suo post, che ho aggiornato per i numeri correnti:
Number of open issues on LESS: 121
Number of open issues on Sass: 87
Pending pull requests on LESS: 13
Pending pull requests on Sass: 8
Number of commits in the last month in LESS: 49
Number of commits in the last month in Sass: 7
Da notare, questi numeri sono stati grossolanamente ribaltati a partire dalla stesura di Chris nel maggio 2012. Questo mi dice che sono entrambi uguali per quanto riguarda l'attività di sviluppo.
Scadenza
Tecnicamente parlando, Sass è più vecchio. È uscito nel 2007, mentre LESS è uscito nel 2009. Detto questo, i paragoni che ho visto hanno messo entrambi allo stesso livello di "maturità" per quanto riguarda le caratteristiche e quant'altro.
Entrambi hanno anche framework che portano più strumenti. MENO ha meno Framework e Centage (inoltre, Twitter Bootstrap è costruito con LESS). Sass ha Compass, Gravity e Susy. Entrambi probabilmente ne hanno di più, se si scava per loro, ma quelli sono alcuni dei primi che si presentano quando si cerca.
Quindi ci sono delle vere differenze?
Quando si tratta di scriverlo, non proprio. Se usi la sintassi SCSS simile a CSS in Sass (invece della sintassi SASS più simile a Python), hai solo le differenze di sintassi minori tipiche ( @
vs $
), ma per la maggior parte, sono praticamente lo stesso
Le due più grandi differenze nella codifica che ho trovato erano a) il modo in cui gestiscono le unità quando si fa matematica, e b) come hanno gestito l'ereditarietà. Quando viene dato qualcosa come 20px + 2em
, LESS lascerà cadere la seconda unità e assumerai che tu intenda il primo (% di 22px
), mentre Sass genererà un errore (in pratica, digita la mancata corrispondenza). Con l'ereditarietà, LESS lo tratta come un mixin (non posso davvero spiegarlo bene, quindi vedi la sezione inhertance di questo articolo Tuts + per i dettagli).
Se uno è superiore rispetto all'altro tipo dipende da come preferisci gestire le cose.
L'altra grande differenza che conosco è come e dove ognuno compila per impostazione predefinita. Sass usa Ruby e si compila sul server, permettendoti di memorizzare e inviare il file CSS compilato al client. MENO, d'altra parte, usa per impostazione predefinita lo script less.js per compilare il CSS al volo. Tuttavia, con l'uso di Node.js, LESS può compilare sul lato server nello stesso modo in cui lo fa Sass.
Quale?
Quindi, se sono sostanzialmente uguali, quale dovresti usare? Beh, a meno che tu non ami davvero la sintassi SASS simile a Python, o pensi davvero che la compilazione lato client sia la strada da percorrere, o preferisci di gran lunga l'ereditarietà di una chiamata sull'altra, sarà più importante se preferisci (o già hanno) Ruby o Node.js installati.