Chris Coyier tem um resumo impressionante de SASS vs LESS em css-tricks.com . Definitivamente vale a pena ler.
Quanto a algumas de suas perguntas específicas:
Comunidade
Eu trabalho inteiramente com o SASS / Compass, por isso não estou intimamente familiarizado com a comunidade do LESS, mas também não precisei da comunidade do SASS. A documentação deles é fantástica e resolveu todos os problemas que encontrei até agora.
Por que vale a pena, no entanto, aqui estão as estatísticas SASS vs LESS que Chris tem em sua postagem, as quais atualizei para os números atuais:
Number of open issues on LESS: 121
Number of open issues on Sass: 87Pending pull requests on LESS: 13
Pending pull requests on Sass: 8Number of commits in the last month in LESS: 49
Number of commits in the last month in Sass: 7
Para notar, esses números foram mais ou menos como se fossem escritos por Chris em maio de 2012. Isso me diz que ambos são bem iguais em relação à atividade de desenvolvimento.
Maturidade
Tecnicamente falando, Sass é mais velho. Ele foi lançado em 2007, enquanto o LESS foi lançado em 2009. Dito isso, as comparações que eu vi colocaram os dois em praticamente o mesmo nível de "maturidade" em relação aos recursos e outros detalhes.
Ambos também têm frameworks que trazem mais ferramentas para eles. Menos tem menos estrutura e Centage (além disso, o Twitter Bootstrap é construído com menos). Sass tem Compass, Gravity e Susy. Ambos provavelmente têm mais, se você procurar por eles, mas esses são alguns dos primeiros que surgem quando você pesquisa.
Então, existem diferenças reais?
Quando se trata de escrevê-lo, não realmente. Se você usar a sintaxe CSS do tipo SCSS no Sass (em vez da sintaxe SASS mais parecida com o Python), terá apenas as diferenças de sintaxe secundárias típicas ( @
vs $
), mas na maioria das vezes elas são basicamente o mesmo.
As duas maiores diferenças na codificação que eu encontrei foram a) como eles lidam com unidades ao fazer matemática, eb) como eles lidavam com herança. Quando dado algo como 20px + 2em
, LESS vai largar a segunda unidade e assumir que você quer dizer o primeiro (yeilding 22px
), enquanto Sass vai lançar um erro (basicamente, tipo incompatibilidade). Com herança, o LESS trata-o como um mixin (não consigo explicar bem, por isso veja a seção de herança deste artigo do Tuts + para detalhes).
Se um é superior ao outro depende de como você prefere lidar com as coisas.
A outra grande diferença que eu conheço é como e onde cada um compila por padrão. O Sass usa Ruby e compila no servidor, permitindo que você armazene e envie o arquivo CSS compilado para o cliente. Por outro lado, o LESS usa o script less.js para compilar o CSS em tempo real. No entanto, com o uso de Node.js, o LESS pode compilar no lado do servidor da mesma forma que o Sass.
Qual deles?
Então, se eles são basicamente o mesmo, qual você deve usar? Bem, a menos que você realmente goste da sintaxe SASS do tipo Python, ou realmente pense que a compilação do lado do cliente é o caminho a ser seguido, ou você prefere muito a herança de uma pessoa sobre outra, vai importar mais se você preferir já tem) Ruby ou Node.js instalados.