Simplificando a vida com LESS

Simplificando a vida com LESS

Finalmente passamos a utilizar LESS aqui no blog, e neste post irei falar brevemente sobre esta ótima ferramenta, expor suas principais vantagens e mostrar como fizemos aqui no Loop Infinito.

Pra quem ainda não conhece

LESS é tida como a linguagem dinâmica de estilos, e diferente de CSS – que é totalmente estática –, LESS estende vários recursos dinâmicos como variáveis, mixins, operações e funções.

“Mas como isto é possível?”

Simples, há duas maneiras de colocar seu código LESS em produção numa página:

  1. Compilando para CSS: LESS possui um compilador, com ele é possível gerar arquivos .css equivalentes a partir de arquivos .less – é implementado em Node.js (também existem compiladores LESS em outras linguagens).
  2. Utilizando o interpretador JS: Também podemos apenas incluir arquivos .less em nossas páginas e utilizar o interpretador JavaScript que realizará uma análise do LESS e modificará os estilos dos elementos da página on the fly.

“OK, mas então terei de aprender uma nova linguagem?”

Calma lá veloz, a sintaxe de LESS é muito parecida com CSS. Na verdade, LESS se trata de um CSS turbinado (odeio esta palavra, mas é o jeito), pois tem tudo que há em CSS e mais um monte de funcionalidades super úteis. Um exemplo? Quem nunca desejou variáveis em CSS? Imagine poder guardar aquele valor hexadecimal super chato#A9D73C de uma cor em uma variável @cor-link e depois, quando precisar desta cor, apenas referenciar a variável @cor-link em qualquer parte do código CSS. Ex.:

#the-beatles { color: @cor-link }

Pois é, LESS te dá isso e muito mais.

Hora de fuçar

Não entrarei em detalhes sobre como usar os recursos de LESS neste post, pois para a vossa felicidade, nós traduzimos a documentação do LESS para português! Trata-se de um dos projetos do Loop Infinito – e por falar nisso, vocês já deram uma olhadinha na nossa nova página de Projetos? Brevemente teremos mais coisas interessantes por lá ;)

Então pessoal, sem desculpas! Tem tudo lá, e bem explicado. Visitem: lesscss.com.br.

Menos é mais

  • Mais manutenibilidade
  • Mais simplicidade
  • Mais organização
  • Mais velocidade
  • Mais beleza

Aqui no Loop Infinito, como estava tudo escrito em CSS antes, tive que trabalhar todos os estilos novamente, transformando tudo em LESS. Mas é um pequeno esforço que vale totalmente a pena. Eis o antes e o depois:

AntesDepoisblogLESScodeLESSprojetosLESSsobreLESSdiscusLESSblogCSS@import@import@import@importcompilaçãoe minifyblogCSS12 KBcodeCSS4KBprojetosCSS1KBsobreCSS2KB18KB

Antes

Haviam 4 arquivos CSS: blog.css (estilos gerais), code.css (highlight de códigos), projetos.css (página Projetos) e sobre.css (página Sobre). Isso quer dizer que basicamente qualquer página do blog incluía pelo menos 2 arquivos cada – blog.css tem que estar presente em todas as páginas, já as páginas dos posts incluem code.css; Projetos e Sobre incluem projetos.css e sobre.css respectivamente. Ou seja, 2 requisições a mais para cada clique de todo mundo que visita o blog.

Depois

Transformamos cada arquivo CSS em LESS e em blog.less importamos todos os outros arquivos. Dessa forma, é gerado apenas um arquivo blog.css que contém os estilos de todos os arquivos .less. Assim diminuímos o número de requisições para apenas 1 – já que todas as páginas apenas incluirão blog.css agora. Percebam também que devido ao minify depois da compilação, ainda conseguimos economia em bytes – saímos dos 19KB para 18KB –, e ainda que a economia seja mínima, isso serve para provar que só há o que ganhar usando LESS.

Recentemente comecei um novo projeto e não cometi o erro de postergar o uso do LESS novamente, já comecei utilizando-o desde o nascimento do projeto, e vou dizer uma coisa: é muito mais melhor de bão!

#12