Ferramentas para minificar arquivos JavaScript

As boas práticas de JavaScript e ordenação correta do código permite aos desenvolvedores trabalharem de forma eficiente, ordenada e facilita a leitura do código ao se trabalhar em grupo. No entanto esse código é feito para entendimento dos humanos trabalhando com ele e para as maquinas, muito do que se coloca é desnecessário. Para isso efetuamos a minificação.

As técnicas de minificação são utilizadas por muitos desenvolvedores de website devido ao fato de gerarem versões dos arquivos que são menores e por isso, carregam mais rápido e permitem que o site execute sem afetar a experiencia de uso dos usuários com conexões mais lentas.

Para a sorte de muitos, existem diversas ferramentas disponíveis online que permitem que a minificação seja feita sem muito trabalho ou erro. Segue abaixo algumas delas:

JSMin

 https://www.crockford.com/javascript/jsmin.html

O JSMin promete conseguir reduzir arquivos JavaScript em até 50% através da remoção de comentários, linhas de espaço e quebras de linhas desnecessárias. Ao mesmo tempo, o programa sabe levar em consideração que certas peculiaridades da linguagem para evitar erros ao minificar Strings e onde o código pode considerar um fechamento de bloco implícito.

Para executa-lo, basta fazer um download do executável em formato ZIP ou do código fonte em C fornecido no próprio site.

YUI Compressor

http://yui.github.io/yuicompressor/

O YUI Compressor é mantido pelo Yahoo e serve para minificar tanto arquivos JavaScript quanto CSS. Para comprimir os arquivos JS, ele depende do Rhino que é uma implementação Open Source do JavaScript escrita totalmente em Java.

Ele começa analizando o arquivo JavaScript de para entender como ele está estruturado e após, imprime o fluxo dos tokens, omitindo o máximo de caracteres de espaço em branco e substituindo todos os símbolos locais por um símbolo de letra onde quer que tal substituição seja apropriada

AjaxminUi

http://ajaxmin.codeplex.com/

O Microsoft Ajax Minifier permite que você melhore o desempenho de seus aplicativos da Web reduzindo o tamanho dos arquivos JavaScript e CSS. Além de minificá-los, é possivel mapas de origem para arquivos JavaScript.

Com a opção -analyze na linha de comando para fornecer verificação de sintaxe no estilo “Lint” e análise de variáveis de código. Já com a opção -pretty na linha de comando resultará em um formato multilinha de fácil leitura.

Google Closure Compiler

https://developers.google.com/closure/compiler/

O Closure Compiler é uma ferramenta JavaScript para tornar o download e execução dos arquivos JS mais rápidos. Ao invés de compilar o código fonte em código de máquina, ele compila o JavaScript em uma versão “melhor”, mas ainda em JavaScript. Além de remover comentários e minificar os arquivos fornecidos, ele também analisa e otimiza o código, podendo remover ou reescrever trechos do script.

Gulp

https://gulpjs.com/

O Gulp é uma ferramenta completa que permite aos desenvolvedores reduzir o número de tarefas repetitivas que estão envolvidas com o a criação e deploy de aplicações web.

Com ele é possível minificar, organizar e controlar o tanto os arquivos JavaScript quanto os CSS. Comparado com as ferramentas mostradas aqui anteriormente, o Gulp é certamente mais complexo, mas se bem utilizado é o que permite o melhor controle e manutenção de seu projeto.