Existem vantagens do SASS sobre o MENOS? [fechadas]

36

Estou tentando fazer pesquisas sobre esses pré-processadores CSS.

Existe alguma vantagem em usar o sass menos do que um pré-processador de css? Os fatores que eu estou procurando incluem tamanho da comunidade, maturidade do projeto de software etc.

Eu sei que havia outra pergunta relacionada a isso, mas não foi escrita e fechada construtivamente.

Atualizar

Parece que o bootstrap agora passou a usar o Sass

chrisjlee
fonte

Respostas:

32

Chris Coyier tem um resumo incrível de SASS vs LESS no site 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 precisava da comunidade do SASS. A documentação deles é fantástica e resolveu os problemas que encontrei até agora.

Porém, para o que vale a pena, aqui estão as estatísticas SASS vs LESS que Chris possui em seu post, que atualizei para os números atuais:

Número de questões abertas no LESS: 121
Número de questões abertas no Sass: 87

Pedidos de recebimento pendentes no LESS: 13
Pedidos de recebimento pendentes no Sass: 8

Número de confirmações no último mês em LESS: 49
Número de confirmações no último mês em Sass: 7

Para observar, esses números foram mais ou menos como os escritos de Chris em maio de 2012. Isso me diz que ambos são praticamente 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 vi colocaram os dois praticamente no mesmo nível de "maturidade" em relação aos recursos e outros enfeites.

Ambos também possuem estruturas que trazem mais ferramentas para eles. LESS possui menos framework e Centage (além disso, o Twitter Bootstrap é construído com LESS). Sass tem Bússola, Gravidade 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 escrever, na verdade não. Se você usar a sintaxe SCSS do tipo CSS no Sass (em vez da sintaxe do SASS mais semelhante ao Python), terá apenas as diferenças menores de sintaxe típicas ( @vs $), mas, na maioria das vezes, elas são basicamente as mesmas.

As duas maiores diferenças de codificação que encontrei foram: a) como elas lidam com as unidades quando fazem matemática eb) como lidam com a herança. Quando recebe algo do tipo 20px + 2em, LESS descarta a segunda unidade e assume que você quer dizer a primeira (yeilding 22px), enquanto Sass gera um erro (basicamente, incompatibilidade de tipo). Com a herança, o LESS trata-o como um mixin (não posso explicar muito bem, consulte a seção de herança deste artigo do Tuts + para obter detalhes).

Se um é superior ao outro, depende de como você prefere lidar com as coisas.

A outra maior diferença que conheço é como e onde cada um é compilado por padrão. O Sass usa Ruby e compila no servidor, permitindo armazenar e enviar o arquivo CSS compilado para o cliente. LESS, por outro lado, usa como padrão o script less.js para compilar o CSS rapidamente. No entanto, com o uso do Node.js, o LESS pode compilar no lado do servidor da mesma maneira que o Sass.

Qual?

Então, se eles são basicamente iguais, qual deles você deve usar? Bem, a menos que você realmente goste da sintaxe do SASS semelhante ao Python, ou realmente pense que a compilação do lado do cliente é o caminho a percorrer, ou se preferir muito a herança de uma pessoa por cima da outra, será mais importante se você preferir ter (ou já possui) Ruby ou Node.js instalado.

Shauna
fonte
2
+1 bom resumo. A menos que a sua sido adicionado recentemente, MENOS também não tem nada comparável ao do Sass @extend
steveax
O desenvolvimento do LESS parece ter aumentado muito ultimamente. Eles estão adicionando uma sintaxe @extend na 1.5.0 (sintaxe extend ()). Eles também estão adicionando mapas de origem, entre outras coisas.
WraithKenny 13/09
WraithKenny - Isso ainda os coloca tecnicamente atrás de Sass. Os mapas de origem padronizados estão nos ramos de teste agora (e eles tiveram "mapas de origem" não padronizados com --debug-infocomentários de linha e para Firebug e Chrome há algumas versões há algum tempo, antes dos lançamentos padrão), e espaços reservados (basicamente, @extend sem realmente escrever a classe a partir da qual estender) estão na versão mais recente.
Shauna
O @Shauna não sabe ao certo como está "tecnicamente" por trás ... O LESS tem "mapas-fonte 'não-padrão' desde o ano passado e já possui mapas-fonte padrão na versão estável mais recente, ao contrário do Sass atualmente.
Subhaze
@subhaze - No momento dos comentários anteriores, o LESS não tinha a sintaxe de extensão, por isso ainda estava atrasada nesse aspecto. Além disso, o Sass adicionou o recurso "espaços reservados" nas recentes compilações estáveis. Dito isto, não vou fazer adendos a cada dois meses comparando os recursos mais avançados de cada conjunto. Como eu disse na minha resposta, os dois são praticamente iguais e, quando um adiciona um recurso que o outro não possui, o outro geralmente não fica muito atrás.
Shauna
6

Eu acredito que sua escolha pode depender pelo menos um pouco do que você está fazendo ou usando; Eu trabalho principalmente com o Rails e ele suporta o Sass para seu CSS, a ponto de ser incluído ativamente na criação de um novo projeto. Se você deseja usar algo como o sempre popular Bootstrap, que utiliza Menos por padrão, não precisa se preocupar, porque existem muitas jóias populares, como o bootstrap-sass, que permitem usá-lo em seu projeto.

Isso é estritamente anedótico, mas toda impressão que tive pessoalmente é que o Sass tem uma comunidade maior e mais suporte, e francamente a documentação oficial do Sass é muito mais detalhada e longa do que a do Less (aumentando o tamanho da fonte e o preenchimento para tudo) não faz um pedaço de texto mais longo). Se você quiser entrar em detalhes, embora eu não esteja totalmente familiarizado com o Less, estritamente baseado nos dois idiomas, o Sass é o único com herança de seletor. Estou certo de que há outras diferenças nas quais as pessoas podem elaborar.

No final, todos têm suas preferências e, se você achar que um combina mais com você do que o outro, você deve, por todos os meios, usá-lo se puder fazer o que for necessário. No entanto, no meu tempo usando Sass, certamente apreciei sua clareza e eficácia, principalmente considerando que estou no domínio Rails.

Paulo
fonte
De acordo, se você já está no Ruby, o SASS faz sentido. Eu sou mais um cara de JavaScript, menos MENOS para mim!
WraithKenny
5

Não tenho certeza se Less tem algo comparável, mas uma das principais vantagens do Sass é a biblioteca Compass , que fornece muitos idiomas CSS comuns, hacks padrão necessários para navegadores mais antigos e funcionalidades CSS3 sem a necessidade de prefixar o navegador. Mencione a geração automática de CSS para imagens de sprite.

Outra vantagem - pelo menos para mim - é que o Sass permite uma sintaxe semelhante ao Python que eu acho muito mais legível.

Andrea
fonte
Comparável ao Compass? Eu não sei, mas eles têm o Bootstrap do Twitter.
WraithKenny
Bem, eles são bestas diferentes. Bootstrap é um conjunto de convenções e widgets, enquanto Compass ósmio uma coleção de mixins reutilizáveis
Andrea
Além disso, o Bootstrap está disponível no Sass.
Shauna