Zeno Rocha (blog, twitter), da Liferay, palestrou no evento Front In BH 2012 sobre pré-processadores CSS com o título CSS Sucks (slides).
Minhas anotações
- CSS3 faz muitas coisas ferradas
- Mas é CSS é desorganizado (não tem padrão de código)
- CSS é repetitivo (mesma cor copiada em vários lugares)
- Precisa de muitos prefixos
- Nada intuitivo (exemplo é um gradiente grande e detalhado)
- Legal é usar pré-processadores pra gerar CSS
- Stylus: tira chaves e ponto e vírgula
- Prefix-free é ruim de performance. Isso não deveria ser feito em client-side.
- Prefixr é melhor. Tem plugin pro sublime.
- Mixins pra reaproveitar código.
- NIB são mixins prontos pro stylus
- SASS
- variáveis pra evitar repetição de valores
- partials com @import pra fazer include direto
- possível escolher SASS ou SCSS
- Compass é uma extensão pro SASS com facilidades
- Compilador pra dev que fica observando modificações e compila
- Geração fácil de sprites com compass.
- LESS
- comentários de linha com //
- aninhamento de regras
- operações matemáticas
- funções de cor
- LESS elements são mixins prontos
- Há programas Desktop pra compilar essas coisas - tipo CodeKit, WinLess etc
- Porque o Twitter Bootstrap usa less e nao sass? Segundo eles:
- 6x mais rápido
- Less é mais simples
- é em JavaScript
Meus comentários
Sou bastante fã de pré processadores, e usuário assíduo do LESS - tenho até um post sobre LESS no blog da Caelum. Gostei de ver na palestra um pouco dos outros, em especial o Stylus que eu só conhecia de nome e não tinha visto código ainda.
Só não gostei do título e da motivação; pra mim, CSS não é tão ruim assim. Uso pré-processadores pra ajudarem em alguma tarefa a mais, mas não vejo tão negativamente o CSS. Foram levantados uns pontos nos primeiros slides como ruins: desorganizado, repetitivo, cheio de prefixos e nada intuitivo. Pra mim, nenhum deles é culpa do CSS. A desorganização é culpa do programador (e vai acontecer usando LESS ou sass), a repetição no CSS é resolvida com classes (e variáveis no CSS4), os prefixos são culpa dos browsers que abusaram desse recurso que era pra ser uma exceção, e intuitivo ou não vai depender da qualidade do código independente se é CSS ou não.
Recomendo pré-processadores de CSS. Mas os vejo mais como um complemento bacana do que como um um recurso antagônico ao CSS.
Outras palestras do Front in BH 2012
Tem a minha palestra sobre otimizações web, incluindo slides, vídeo e post complementar. E as outras:
- Rest Client Side, com Alexandre Gaigalas
- Wordpress aliado do Front End, com Leandro Vieira
- Amazon AWS e CDN no Peixe Urbano, com Alexandre Tabor
- Novo Cinto de Utilidades do Desenvolvedor JavaScript, com Leo Balter
- Desafios do Design Mobile, com Horácio Soares
- Estilizando folhas de estilo com estilo, com Bernard de Luna