Pagina inicial » Web design » Preprocessadores CSS Comparados Sass vs. LESS

    Preprocessadores CSS Comparados Sass vs. LESS

    Existem vários CSS Preprocessor, LESS, Sass, Stylus e Swith CSS, só para citar alguns. Pré-processador CSS, Como dissemos muitas vezes antes, destina-se principalmente a tornar o CSS de autoria mais dinâmico, organizado e produtivo. Mas, a questão é, qual deles faz o trabalho melhor?

    Bem, é claro, não daríamos uma olhada em cada um deles, em vez disso, apenas compararíamos dois dos mais populares: Sass e LESS. Para decidir, vamos comparar os dois em sete fatores: o que executa melhor recebe um ponto; em caso de empate, ambos receberão um ponto.

    Vamos começar.

    Instalação

    Vamos começar com o passo fundamental, Instalação. Ambos Sass e LESS são construídos em diferentes plataformas, Sass está rodando em Ruby enquanto LESS é uma biblioteca JavaScript (que é estava na verdade também construído em Ruby no início).

    Sass: O Sass precisa do Ruby para funcionar, no Mac isso já foi pré-instalado, mas no Windows você provavelmente precisará instalá-lo antes de começar a jogar com o Sass. Além disso, o Sass precisa ser instalado através do Terminal ou do Prompt de Comando. Existem vários aplicativos de GUI que você pode usar no lugar, mas eles não são gratuitos.

    MENOS: O LESS é baseado em JavaScript, portanto, o LESS é tão fácil quanto vincular a biblioteca JavaScript ao seu documento HTML. Existem também alguns aplicativos GUI para ajudar na compilação do LESS para CSS, e a maioria deles é gratuita e funciona muito bem (por exemplo, WinLess e LESS.app).

    Conclusão: LESS está claramente na liderança.

    Extensões

    Tanto o Sass quanto o LESS possuem extensões para um desenvolvimento web mais rápido e fácil.

    Sass: Em nosso último post, discutimos sobre o Compass, a atual e popular extensão baseada no Sass. Compass tem um número de Mixins para escrever a sintaxe CSS3 em menos tempo.

    Mas o Compass está além de apenas CSS3 Mixins, ele adicionou outros recursos muito úteis, como Auxiliares, Layout, Tipografia, Layout de Grade e até Imagens de Sprite. Ele também tem config.rb arquivo onde podemos controlar a saída CSS e algumas outras preferências. Então, resumindo, o Compass é um pacote completo para fazer desenvolvimento web com o Sass.

    MENOS: LESS também tem várias extensões, mas ao contrário da Compass, que tem tudo o que precisamos em um só lugar, elas são separadas e cada uma delas é construída por diferentes desenvolvedores. Isso não será um problema para usuários experientes, mas para aqueles que estão começando com o LESS, eles precisam dedicar algum tempo para escolher as extensões corretas que atendem ao fluxo de trabalho..

    Aqui estão algumas extensões LESS que talvez você precise incluir em seu projeto:

    • Mixins CSS3: MENOS Elementos, Pré-inicialização, Menos Mixins.
    • Grade: 960.gs, Sem moldura, Semantic.gs
    • Layout: Ainda menos
    • Misc: Twitter Bootstrap

    Conclusão: Eu acho que nós temos que concordar que o Sass and Compass é um ótimo duo e que o recurso de imagem do Sprite é realmente incrível, então um ponto para o Sass aqui.

    línguas

    Cada pré-processador CSS tem seu próprio idioma e eles são mais comuns. Por exemplo, tanto Sass quanto LESS possuem Variáveis, mas não há diferença significativa, exceto Sass define variáveis ​​com um $ assinar enquanto MENOS faz isso com um @ placa. Eles ainda fazem a mesma coisa: armazena um valor constante.

    Abaixo, examinaremos alguns dos idiomas mais usados ​​tanto em Sass quanto em LESS (com base em minha experiência).

    Aninhamento

    Regra de aninhamento é uma boa prática para evitar escrever seletores repetidamente e ambos Sass e LESS têm a mesma forma nas regras de aninhamento;

    Sass / Scss e LESS

     nav margin: 50px auto 0; largura: 788px; altura: 45px; ul preenchimento: 0; margem: 0;  

    Mas Sass / Scss leva este método um passo além, permitindo-nos também aninhar propriedades individuais, aqui está um exemplo:

     nav margin: 50px auto 0; largura: 788px; altura: 45px; ul preenchimento: 0; margem: 0;  border: style: solid; esquerda: largura: 4 px; cor: # 333333;  à direita: width: 2px; cor: # 000000;  

    Este código irá gerar o seguinte resultado.

     nav margin: 50px auto 0; largura: 788px; altura: 45px; estilo de borda: sólido; borda-esquerda-largura: 4 px; border-left-color: # 333333; border-right-width: 2px; border-right-color: # 000000;  nav ul preenchimento: 0; margem: 0;  

    Conclusão: Aninhar propriedades individuais é uma boa adição e é considerado melhor pratica, especialmente se seguirmos o princípio DRY (Don't Repeat Yourself). Então, eu acho que está claro qual deles está fazendo melhor neste caso.

    Mixins e herança do seletor

    Mixins em Sass e LESS são definidos de forma um pouco diferente. Em Sass usamos o@mixin directiva enquanto em menos definimos com seletor de classe. Aqui está um exemplo:

    Sass / Scss

     @mixin border-radius ($ values) border-radius: $ valores;  nav margin: 50px auto 0; largura: 788px; altura: 45px; @include border-radius (10px);  

    MENOS

     .border (@radius) border-radius: @radius;  nav margin: 50px auto 0; largura: 788px; altura: 45px; .border (10px);  

    Mixins, em Sass e LESS, é usado para incluir propriedades de um conjunto de regras para outro conjunto de regras. Em Sass, este método é levado adiante com Herança do Seletor. O conceito é idêntico, mas em vez de copiar todas as propriedades, o Sass estenderá ou agrupará seletores que tenham as mesmas propriedades e valores usando o @ampliar diretiva.

    Dê uma olhada neste exemplo abaixo:

     .circle border: 1px solid #ccc; raio de fronteira: 50 px; estouro: oculto;  .avatar @extend .circle;  

    Este código resultará como;

     .círculo, .avatar border: 1px solid #ccc; raio de fronteira: 50 px; estouro: oculto;  

    Conclusão: Sass está um passo à frente por herança distinta de mixins e seletores.

    Operações

    Tanto o Sass quanto o LESS podem fazer operações matemáticas básicas, mas às vezes retornam resultados diferentes. Veja como eles realizam esse cálculo aleatório:

    Sass / Scss

     $ margin: 10px; div margem: $ margem - 10%; / * Erro de sintaxe: Unidades incompatíveis: '%' e 'px' * / 

    MENOS

     @margin: 10px; div margin: @margin - 10%; / * = 0px * / 

    Conclusão: Sass, neste caso, está fazendo isso com mais precisão; como% e px não são equivalentes, deve retornar um erro. Embora, na verdade, espero que possa ser algo como 10px - 10% = 9px.

    Notificações de erro

    Notificação de erro é importante para ver o que estamos fazendo errado. Imagine milhares de linhas de código e um pequeno erro em algum lugar do caos. Uma clara notificação de erro será a melhor maneira de descobrir o problema rapidamente.

    Sass: Neste exemplo, estou apenas usando o Prompt de Comando para executar o compilador. Sass irá gerar uma notificação de erro sempre que houver invalidez no código. Neste caso, vamos remover um ponto e vírgula na linha 6, e isso deve se transformar em um erro. Dê uma olhada na imagem abaixo.

    Quando vi essa notificação pela primeira vez, mal consegui entender. Além disso, parece Sass é um pouco fora de onde o erro é. Ele disse que o erro está em linha 7, em vez de 6.

    MENOS: Com o mesmo cenário de erro, a notificação LESS é mais bem apresentada e também parece ser mais precisa. Dê uma olhada nesta imagem:

    Conclusão: O LESS oferece melhor experiência sobre este assunto e vence as mãos para baixo.

    Documentação

    Documentação é parte muito importante para cada produto; mesmo desenvolvedores experientes achariam difícil fazer as coisas sem Documentação.

    SassSe dermos uma olhada na documentação no site oficial, eu, pessoalmente, sinto que estou no meio de uma biblioteca, a documentação é muito abrangente. No entanto, a aparência e a sensação, se isso é importante para você, não é motivacional para a leitura, e o plano de fundo é simples.

    A apresentação é muito mais parecida com a documentação do W3 ou WikiPedia. Não sei se esse é o padrão de exibição de documentação na Internet, mas não é a única maneira.

    MENOSPor outro lado, a documentação do LESS é mais clara sem muitas explicações de texto e mergulha diretamente nos exemplos. Também tem boa tipografia e um melhor esquema de cores. Acho que foi por isso que o LESS atraiu minha atenção em primeiro lugar e posso aprender mais rápido por causa do layout e da apresentação da documentação.

    Conclusão: A apresentação da documentação do LESS é melhor, embora o Sass tenha uma documentação mais abrangente, então acho que podemos chamar isso de empate.

    Pensamento final

    Eu acho que é uma conclusão clara de que Sass é melhor com uma pontuação total de 5 contra 3 por menos. No entanto, isso não significa que o LESS seja ruim; eles só precisam ser melhores. No final, ainda depende da decisão do usuário final escolher o pré-processador de sua escolha. Seja Sass ou MENOS, contanto que eles estejam confortáveis ​​e mais produtivos, então esse é o vencedor em sua lista.

    Por fim, se você tiver algo em mente sobre esse assunto, sinta-se à vontade para compartilhá-lo na caixa de comentários abaixo.