Automatização de tarefas para front-end.
Se você não sabe do que se trata, essa é a hora para começar a entender como funciona e, principalmente quando usar.
Eu conheço as seguintes ferramentas para se fazer automatização de tarefas: Grunt, o mais usado; Gulp, o mais novo e por fim Broccoli o que eu nunca usei.
Decidi o usar o Gulp depois de uma boa pesquisa sobre desempenho e estrutura (comparando com o Grunt).
Montar seu gulpfile.js é fácil, cada pacote tem sua instrução de como usar no npmjs.com, incialmente você vai ver utilidade para fazer a compilação de seu SASS ou a compactação do JS, mas o negócio começa ficar interessante quando você colocar todo o poder da rotina para montar um projeto web inteiro.
Imagine um site que toda requisição remonta o HTML que vai ser enviado ao cliente. O servidor tem que abrir cada arquivo de layout, bloco, conteúdo, cabeçalho rodapé, trocar variáveis, entre outras atividades que consomem seu humilde servidor, agora multiplique isso a uns mil acessos, quantas vezes o servidor vai trabalhar para fazer a mesma coisa? Agora pense o quanto desse conteúdo foi alterado durante o primeiro acesso e o milésimo, provavelmente sua resposta vai ser nenhuma, e mesmo que seu site seja dinâmico e que trabalhe com banco de dados. Provavelmente estas áreas sejam pequenas e não justifique remontar todo o HTML para cada requisição do cliente.
Este pensamento me faz crer que podemos substituir um CMS por uma boa rotina automatizada de tarefas que montem, não só seu CSS e JS do site, mas também o HTML e imagens, até mesmo os sprites.
Existe um vasto mundo de compiladores de HTML para Gulp/Grunt e eu encontrei o Nunjucks que até agora me parece um dos mais completos, mas caso queira pesquisar mais, existe um pacote no npm chamado Consolidate que vai te ajudar.
Para o JavaScript estou utilizando o Browserify, que gerencia as dependências de um pacote da mesma forma que o node e, também, converte o arquivo para um browser. Pretendo falar mais sobre ele depois, segue o link do Browserify.
Bom... Opções não faltam, só precisa minerar o conhecimento. Segue um exemplo de gulpfile.js que criei para um projeto mobile (link).
Qualquer dúvida, manda pergunta e fica de olho que semana que vem eu vou falar mais sobre browserify e angular.
Abraços.












