Ci sono vantaggi di SASS su LESS? [chiuso]


36

Sto cercando di fare ricerche su questi preprocessori CSS.

Ci sono dei vantaggi nell'usare sass su less come preprocessore css? I fattori che sto cercando includono la dimensione della comunità, la maturità del progetto software, ecc.

So che c'era un'altra domanda relativa a questo, ma non è stata scritta e chiusa in modo costruttivo.

Aggiornare

Sembra che bootstrap ora sia andato oltre per usare Sass

Risposte:


32

Chris Coyier ha una fantastica carrellata di SASS vs LESS su css-tricks.com . Vale sicuramente la pena leggere.

Per quanto riguarda alcune delle tue domande specifiche:

Comunità

Lavoro interamente con SASS / Compass, quindi non ho familiarità con la comunità di LESS, ma non ho davvero bisogno della comunità di SASS. La loro documentazione è fantastica e ha risolto tutti i problemi che ho incontrato finora.

Per quello che vale, però, ecco le statistiche SASS vs LESS che Chris ha nel suo post, che ho aggiornato per i numeri attuali:

Numero di numeri aperti su LESS: 121
Numero di numeri aperti su Sass: 87

Richieste di pull in sospeso su LESS: 13
Richieste di pull in sospeso su Sass: 8

Numero di commit nell'ultimo mese in MENO: 49
Numero di commit nell'ultimo mese in Sass: 7

Da notare che questi numeri sono stati approssimativamente capovolti al momento della stesura di Chris nel maggio 2012. Questo mi dice che sono entrambi abbastanza uguali per quanto riguarda l'attività di sviluppo.

Scadenza

Tecnicamente parlando, Sass è più vecchio. È uscito nel 2007, mentre MENO è uscito nel 2009. Detto questo, i confronti che ho visto hanno messo entrambi allo stesso livello di "maturità" per quanto riguarda le caratteristiche e quant'altro.

Entrambi hanno anche framework che offrono loro più strumenti. LESS ha meno Framework e Centage (inoltre, Twitter Bootstrap è realizzato con LESS). Sass ha Compass, Gravity e Susy. Entrambi probabilmente ne hanno di più, se scavi per loro, ma quelli sono alcuni dei primi che emergono quando cerchi.

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 più sintassi SASS simile a Python), hai solo le tipiche differenze di sintassi minori ( @vs $), ma per la maggior parte sono sostanzialmente le stesse.

Le due maggiori differenze nella codifica che ho scoperto sono state a) come gestiscono le unità quando fanno matematica e b) come gestiscono l'eredità. Quando viene dato qualcosa di simile 20px + 2em, MENO rilascerà la seconda unità e supporrà che tu intenda la prima (yeilding 22px), mentre Sass lancerà un errore (fondamentalmente, digitare mismatch). Con l'eredità, MENO lo tratta come un mixin (non posso davvero spiegarlo bene, quindi vedi la sezione sull'eredità di questo articolo Tuts + per i dettagli).

Se uno è superiore rispetto all'altro tipo di dipende da come preferiresti gestire le cose.

L'altra più grande differenza che conosco è come e dove ognuno si compila di default. Sass utilizza Ruby e compila sul server, consentendo di archiviare e inviare il file CSS compilato al client. MENO, invece, per impostazione predefinita utilizza lo script less.js per compilare il CSS al volo. Tuttavia, con l'uso di Node.js, LESS può compilare sul lato server allo stesso modo di Sass.

Quale?

Quindi, se sono sostanzialmente gli stessi, quale dovresti usare? Bene, a meno che tu non ami davvero la sintassi SASS simile a Python, o pensi davvero che la compilazione sul lato client sia la strada da percorrere, o preferisci fortemente la tua eredità che chiama sull'altra, avrà più importanza se preferisci avere (o ho già installato) Ruby o Node.js.


2
+1 bel riassunto. A meno che non sia stato aggiunto di recente, MENO non ha nulla di paragonabile a @extend di Sass
steveax

Lo sviluppo di LESS sembra essere notevolmente aumentato negli ultimi tempi. Stanno aggiungendo una sintassi @extend nella 1.5.0 (: sintassi () (). Stanno anche aggiungendo Mappe di origine tra le altre cose.
WraithKenny,

WraithKenny - Che tecnicamente li mette ancora dietro Sass. Le mappe di origine standardizzate sono attualmente nelle filiali di test (e hanno avuto "mappe di origine" non standard con --debug-infoe commenti di linea per Firebug e Chrome alcune versioni indietro da qualche tempo, prima che quelle standard escano), e i segnaposto (sostanzialmente, @extend senza effettivamente scrivere la classe da cui estendere) sono nell'ultima versione.
Shauna,

@Shauna non è sicura di come siano "tecnicamente" indietro ... LESS ha avuto "mappe sorgente" non standard dallo scorso anno, e ha già mappe sorgenti standard nell'ultima build stabile, a differenza del Sass attualmente.
subhaze

@subhaze - Al momento dei commenti precedenti, LESS non aveva la sintassi estesa, quindi era ancora indietro in quell'aspetto. Inoltre, Sass ha aggiunto la funzione "segnaposto" nelle recenti build stabili. Detto questo, non farò addendi ogni paio di mesi confrontando le caratteristiche più all'avanguardia di ogni set. Come ho detto nella mia risposta, sono entrambi praticamente uguali e quando uno aggiunge una funzionalità che l'altro non ha, l'altro di solito non è molto indietro.
Shauna,

6

Credo che la tua scelta possa dipendere almeno un po 'da quello che stai facendo o usando; Lavoro principalmente con Rails e supporta Sass per i suoi CSS al punto da essere attivamente incluso nella creazione di un nuovo progetto. Se vuoi usare qualcosa come il sempre popolare Bootstrap, che utilizza Meno per impostazione predefinita, non devi temere, perché ci sono molte gemme popolari come bootstrap-sass che ti consentono di usarlo nel tuo progetto.

Questo è strettamente aneddotico, ma ogni impressione che ho avuto personalmente è che Sass abbia una comunità più ampia e più supporto, e francamente la documentazione ufficiale per Sass è molto più dettagliata e lunga di quella di Less (aumentando la dimensione del carattere e il riempimento per tutto non crea un testo più lungo). Se vuoi approfondire i dettagli, anche se non ho familiarità con Less, basandomi esclusivamente su entrambe le lingue, Sass è l'unico con l'ereditarietà del selettore. Sono sicuro che ci sono altre differenze su cui le persone possono elaborare.

Alla fine, ognuno ha le sue preferenze e se scopri che uno ti soddisfa meglio dell'altro, dovresti assolutamente usarlo se può fare quello che ti serve. Tuttavia, nel mio tempo usando Sass, ho sicuramente apprezzato la sua chiarezza ed efficacia, soprattutto considerando che sono nel dominio Rails.


D'accordo, se sei già su Ruby, SASS ha un senso. Sono più un tipo JavaScript quindi MENO per me!
WraithKenny,

5

Non sono sicuro che Less abbia qualcosa di paragonabile, ma uno dei principali vantaggi di Sass è la libreria Compass , che offre molti modi di dire CSS comuni, hack standard necessari per i browser più vecchi e funzionalità CSS3 senza la necessità del prefisso del browser, non di menzionare la generazione automatica di CSS per immagini sprite.

Un altro vantaggio - almeno per me - è che Sass consente una sintassi simile a Python che trovo molto più leggibile.


Paragonabile alla bussola? Non lo so, ma hanno Bootstrap di Twitter.
WraithKenny,

Bene, sono bestie diverse. Bootstrap è un insieme di convenzioni e widget, mentre Compass è una raccolta di mixin riutilizzabili
Andrea,

Inoltre, Bootstrap è disponibile in Sass.
Shauna,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.