Chris Coyier a un résumé impressionnant de SASS vs LESS sur css-tricks.com . Cela vaut vraiment la peine d'être lu.
En ce qui concerne certaines de vos questions spécifiques:
Communauté
Je travaille entièrement avec SASS / Compass, je ne connais donc pas très bien la communauté de LESS, mais je n’ai pas vraiment besoin de la communauté de SASS. Leur documentation est fantastique et a résolu tous les problèmes que j'ai rencontrés jusqu'à présent.
Pour ce qui en vaut la peine, voici les statistiques SASS vs LESS que Chris a publiées dans son post, que j'ai actualisées pour les chiffres actuels:
Nombre de numéros en suspens sur MOINS: 121
Nombre de numéros en suspens sur Sass: 87
Demandes de traction en attente sur MOINS: 13
Demandes de traction en attente sur Sass: 8
Nombre de validations du dernier mois en MOINS: 49
Nombre de validations du dernier mois en Sass: 7
Il est à noter que ces chiffres étaient approximativement inversés au moment où Chris écrivait en mai 2012. Cela me dit qu'ils sont tous deux à peu près égaux en ce qui concerne l'activité de développement.
Maturité
Techniquement, Sass est plus âgé. Il est sorti en 2007, tandis que LESS est sorti en 2009. Cela dit, les comparaisons que j'ai déjà vues les ont placées à peu près au même niveau de "maturité" en ce qui concerne les fonctionnalités et autres.
Les deux ont également des cadres qui leur apportent plus d'outils. LESS a Less Framework et Centage (en plus, le bootstrap de Twitter est construit avec LESS). Sass a Compass, Gravity et Susy. Les deux ont probablement plus, si vous creusez pour eux, mais ce sont certaines des premières qui apparaissent lorsque vous effectuez une recherche.
Alors, y a-t-il de réelles différences?
Quand il s'agit d'écrire, pas vraiment. Si vous utilisez la syntaxe SCSS de type CSS dans Sass (au lieu de la syntaxe SASS de type Python), vous n’avez que les différences de syntaxe mineures typiques ( @
vs $
), mais elles sont pour l’essentiel identiques.
Les deux plus grandes différences de codage que j'ai trouvées sont les suivantes: a) comment ils gèrent les unités lorsqu'ils font des mathématiques et b) comment ils gèrent l'héritage. Lorsqu'on leur donne quelque chose comme 20px + 2em
, LESS laissera tomber la deuxième unité et supposera que vous entendez la première (yeilding 22px
), tandis que Sass émettra une erreur (en gros, tapez mismatch). Avec l'héritage, LESS le traite comme un mixin (je ne peux pas vraiment l'expliquer, alors voyez la section héritage de cet article sur Tuts + pour plus de détails).
Que l’on soit supérieur à l’autre dépend de la manière dont on préférerait que l’on gère les choses.
L’autre plus grande différence que je connaisse est comment et où chacun se compile par défaut. Sass utilise Ruby et compile sur le serveur, ce qui vous permet de stocker et d'envoyer le fichier CSS compilé au client. LESS utilise par contre le script less.js pour compiler le CSS à la volée. Cependant, avec l'utilisation de Node.js, LESS peut être compilé côté serveur de la même manière que Sass.
Laquelle?
Donc, s'ils sont fondamentalement les mêmes, lequel devriez-vous utiliser? Eh bien, à moins que vous n'aimiez vraiment la syntaxe SASS de type Python, ou que vous pensiez vraiment que la compilation côté client est la voie à suivre, ou que vous préfériez grandement un appel hérité plutôt que l'autre, il importera plus que vous préfériez avoir (ou avez déjà) Ruby ou Node.js installé.
--debug-info
quelques versions de carte source non standard avec des commentaires de ligne pour Firebug et Chrome quelques versions en arrière depuis un certain temps, avant la sortie des versions standard), et les espaces réservés (en gros, @extend sans écrire réellement la classe à partir de laquelle étendre) sont dans la dernière version.Je pense que votre choix peut dépendre au moins un peu de ce que vous faites ou utilisez; Je travaille principalement avec Rails et il prend en charge Sass pour son CSS au point qu’il soit activement inclus lors de la création d’un nouveau projet. Si vous souhaitez utiliser quelque chose comme le très populaire Bootstrap, qui utilise Less par défaut, vous n’avez pas à craindre, car il existe de nombreux joyaux populaires tels que bootstrap-sass qui vous permettent de l’utiliser dans votre projet.
Ceci est strictement anecdotique, mais chaque impression que j’ai eue personnellement est que Sass a une communauté plus large et plus de soutien, et très franchement, la documentation officielle de Sass est beaucoup plus longue et détaillée que celle de Less (augmenter la taille de la police et le remplissage pour tout ne fait pas un morceau de texte plus long). Si vous voulez entrer dans les détails, bien que je ne sois pas tout à fait familiarisé avec Less, basé uniquement sur l'examen des deux langues, Sass est le seul à posséder un héritage de sélecteur. Je suis sûr qu'il y a une autre différence sur laquelle les gens peuvent élaborer.
En fin de compte, tout le monde a ses préférences et si vous trouvez que l’une vous convient mieux que l’autre, vous devez absolument l’utiliser si elle peut faire ce dont vous avez besoin. Cependant, depuis que j'utilise Sass, j'ai certainement apprécié sa clarté et son efficacité, d'autant plus que je suis dans le domaine Rails.
la source
Je ne sais pas si Less a quelque chose de comparable, mais l’un des principaux avantages de Sass est la bibliothèque Compass , qui vous fournit de nombreux idiomes CSS courants, des hacks standard nécessaires pour les navigateurs plus anciens et des fonctionnalités CSS3 sans nécessiter de préfixe de navigateur. mentionnez la génération automatique de CSS pour les images de sprite.
Un autre avantage - du moins pour moi - est que Sass permet une syntaxe de type Python que je trouve beaucoup plus lisible.
la source