Chris Coyier tiene un resumen impresionante de SASS vs LESS en css-tricks.com . Definitivamente vale la pena leerlo.
En cuanto a algunas de sus preguntas específicas:
Comunidad
Trabajo completamente con SASS / Compass, por lo que no estoy muy familiarizado con la comunidad de LESS, pero tampoco he necesitado realmente la comunidad de SASS. Su documentación es fantástica y ha resuelto cualquier problema que haya tenido hasta ahora.
Sin embargo, para lo que vale, aquí están las estadísticas SASS vs LESS que Chris tiene en su publicación, que he actualizado para los números actuales:
Número de cuestiones abiertas en MENOS: 121
Número de cuestiones abiertas en Sass: 87
Solicitudes de extracción pendientes en MENOS: 13
Solicitudes de extracción pendientes en Sass: 8
Número de confirmaciones en el último mes en MENOS: 49
Cantidad de confirmaciones en el último mes en Sass: 7
Para tener en cuenta, estos números fueron aproximadamente flip-flop a partir de la escritura de Chris en mayo de 2012. Esto me dice que ambos son bastante iguales en lo que respecta a la actividad de desarrollo.
Madurez
Técnicamente hablando, Sass es mayor. Salió en 2007, mientras que MENOS salió en 2009. Dicho esto, las comparaciones que he visto los pusieron a ambos en el mismo nivel de "madurez" en cuanto a características y demás.
Ambos también tienen marcos que les brindan más herramientas. LESS tiene Less Framework y Centage (además, Twitter Bootstrap está construido con LESS). Sass tiene brújula, gravedad y Susy. Es probable que ambos tengan más, si cavas por ellos, pero esos son algunos de los primeros que aparecen cuando buscas.
Entonces, ¿hay alguna diferencia real?
Cuando se trata de escribirlo, no realmente. Si usa la sintaxis SCSS similar a CSS en Sass (en lugar de la sintaxis SASS más similar a Python), solo tiene las diferencias de sintaxis menores típicas ( @
vs$
), pero en su mayor parte, son básicamente las mismas.
Las dos mayores diferencias en la codificación que encontré fueron a) cómo manejan las unidades cuando hacen matemáticas, yb) cómo manejan la herencia. Cuando se le da algo así 20px + 2em
, LESS soltará la segunda unidad y asumirá que se refiere a la primera (yending 22px
), mientras que Sass arrojará un error (básicamente, falta de coincidencia de tipos). Con la herencia, LESS lo trata como un mixin (realmente no puedo explicarlo bien, así que vea la sección de herencia de este artículo de Tuts + para más detalles).
Que uno sea superior al otro depende de cómo prefiera que maneje las cosas.
La otra gran diferencia que conozco es cómo y dónde se compila cada uno por defecto. Sass utiliza Ruby y compila en el servidor, lo que le permite almacenar y enviar el archivo CSS compilado al cliente. MENOS, por otro lado, usa de manera predeterminada el script less.js para compilar el CSS sobre la marcha. Sin embargo, con el uso de Node.js, LESS puede compilar en el lado del servidor de la misma manera que Sass.
¿Cúal?
Entonces, si son básicamente lo mismo, ¿cuál debería usar? Bueno, a menos que realmente te guste la sintaxis SASS tipo Python, o realmente pienses que la compilación del lado del cliente es el camino a seguir, o prefieres en gran medida la herencia de una llamada sobre la otra, será más importante si prefieres tener (o ya tiene) Ruby o Node.js instalados.
--debug-info
comentarios de línea para Firebug y Chrome algunas versiones anteriores desde hace algún tiempo, antes de que salgan los estándar), y los marcadores de posición (básicamente, @extend sin escribir realmente la clase desde la cual extender) están en la última versión.Creo que su elección puede depender al menos un poco de lo que está haciendo o usando; Trabajo principalmente con Rails y es compatible con Sass para su CSS hasta el punto de que se incluye activamente al crear un nuevo proyecto. Si desea usar algo como el siempre popular Bootstrap, que utiliza Less por defecto, no tiene que temer, porque hay muchas gemas populares como bootstrap-sass que le permiten usarlo en su proyecto.
Esto es estrictamente anecdótico, pero cada impresión que tuve personalmente es que Sass tiene una comunidad más amplia y más apoyo, y francamente, la documentación oficial de Sass es mucho más detallada y extensa que la de Less (aumentando el tamaño de la fuente y el relleno para todo no hace una pieza de texto más larga). Si desea entrar en detalles, aunque no estoy completamente familiarizado con Less, basado estrictamente en mirar ambos idiomas, Sass es el único con herencia de selector. Estoy seguro de que hay otras diferencias sobre las que la gente puede dar más detalles.
Al final, todos tienen sus preferencias y si encuentra que uno le conviene mejor que el otro, debe usarlo si puede hacer lo que necesita. Sin embargo, en mi tiempo usando Sass, ciertamente he disfrutado de su claridad y efectividad, particularmente teniendo en cuenta que estoy en el dominio de Rails.
fuente
No estoy seguro de si Less tiene algo comparable, pero una de las principales ventajas de Sass es la biblioteca Compass , que le proporciona muchos modismos CSS comunes, hacks estándar necesarios para navegadores antiguos y funcionalidades CSS3 sin la necesidad de prefijos de navegador, no mencionar la generación automática de CSS para imágenes de sprites.
Otra ventaja, al menos para mí, es que Sass permite una sintaxis similar a Python que me parece mucho más legible.
fuente