web-dev-qa-db-fra.com

Y a-t-il des avantages de SASS par rapport à LESS?

J'essaie de faire des recherches sur ces préprocesseurs CSS.

Y a-t-il des avantages à utiliser sass sur less comme préprocesseur css? Les facteurs que je recherche incluent la taille de la communauté, la maturité du projet logiciel, etc.

Je sais qu'il était une autre question lié à cela, mais ce n'était pas écrit et fermé de manière constructive.

Mise à jour

On dirait le bootstrap est désormais utilisé pour utiliser Sass

36
chrisjlee

Chris Coyier a un superbe aperçu de SASS vs LESS sur css-tricks.com . Cela vaut vraiment la peine d'être lu.

Quant à certaines de vos questions spécifiques:

Communauté

Je travaille entièrement avec SASS/Compass, donc je ne connais pas intimement la communauté de LESS, mais je n'ai pas non plus vraiment eu 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 que ça vaut, cependant, voici les statistiques SASS vs LESS que Chris a dans son post, que j'ai mises à jour pour les chiffres actuels:

Nombre de problèmes en suspens sur MOINS: 121
Nombre de problèmes en suspens sur Sass: 87

Demandes de retrait en attente sur MOINS: 13
Demandes d'appel en attente sur Sass: 8

Nombre de validations au cours du dernier mois en MOINS: 49
Nombre de validations au cours du dernier mois à Sass: 7

À noter, ces chiffres ont été à peu près inversés au moment de l'écriture de Chris en mai 2012. Cela me dit qu'ils sont tous deux assez égaux en ce qui concerne l'activité de développement.

Maturité

Techniquement parlant, Sass est plus âgé. Il est sorti en 2007, tandis que LESS est sorti en 2009. Cela dit, les comparaisons que j'ai vues les placent à peu près au même niveau de "maturité" en ce qui concerne les fonctionnalités et ainsi de suite.

Les deux ont également des cadres qui leur apportent plus d'outils. MOINS a moins de framework et Centage (en outre, Twitter Bootstrap est construit avec LESS). Sass a Compass, Gravity et Susy. Les deux ont probablement plus, si vous creusez pour eux, mais ceux sont parmi les premiers à apparaître lorsque vous effectuez une recherche.

Y a-t-il donc de réelles différences?

Quand il s'agit de l'é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 (@ contre $), mais pour la plupart, ce sont essentiellement les mêmes.

Les deux plus grandes différences de codage que j'ai trouvées étaient a) la façon dont ils gèrent les unités lorsqu'ils font des mathématiques et b) la façon dont ils gèrent l'héritage. Lorsqu'on leur donne quelque chose comme 20px + 2em, LESS supprimera la deuxième unité et supposera que vous voulez dire la première (yeilding 22px), tandis que Sass générera une erreur (en gros, taper incompatibilité). Avec l'héritage, LESS le traite comme un mixin (je ne peux pas vraiment l'expliquer bien, alors voyez la section héritage de cet article Tuts + pour plus de détails).

Que l'un soit supérieur à l'autre dépend de la façon dont vous préférez gérer les choses.

L'autre plus grande différence que je connaisse est comment et où chacun compile par défaut. Sass utilise Ruby et compile sur le serveur, vous permettant de stocker et d'envoyer le fichier CSS compilé au client. MOINS, d'autre part, utilise par défaut le script less.js pour compiler le CSS à la volée Cependant, avec l'utilisation de Node.js, LESS peut compiler côté serveur de la même manière que Sass.

Lequel?

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 le chemin à parcourir, ou que vous préférez grandement l'héritage appelant par rapport à l'autre, cela importera plus que vous préfériez avoir (ou ont déjà) Ruby ou Node.js installé.

32
Shauna

Je crois que votre choix peut dépendre au moins un tout petit 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 est activement inclus lors de la création d'un nouveau projet. Si vous souhaitez utiliser quelque chose comme le Bootstrap toujours populaire, qui utilise moins 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.

C'est strictement anecdotique, mais chaque impression que j'ai personnellement eue est que Sass a une plus grande communauté et plus de support, et franchement la documentation officielle pour Sass est beaucoup plus détaillée et longue que celle de Moins (l'augmentation de la taille de la police et du 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 entièrement familier avec Less, basé strictement sur la recherche dans les deux langues, Sass est le seul à avoir l'héritage du sélecteur. Je suis sûr qu'il existe d'autres différences sur lesquelles les gens peuvent développer.

En fin de compte, tout le monde a ses préférences et si vous trouvez que l'un vous convient mieux que l'autre, vous devriez certainement l'utiliser s'il peut faire ce que vous en avez besoin. Cependant, dans mon temps d'utilisation de Sass, j'ai certainement apprécié sa clarté et son efficacité, d'autant plus que je suis dans le domaine Rails.

6
Paul

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 anciens navigateurs et des fonctionnalités CSS3 sans le besoin de préfixer le navigateur, sans parler de la génération automatique de CSS pour les images Sprite.

Un autre avantage - du moins pour moi - est que Sass permet une syntaxe de type Python que je trouve beaucoup plus lisible.

5
Andrea