IntroducaoO ambiente web e repleto de requisicoes e respostas HTTP contendo arquivos HTML, JS, CSS, imagens, etc. Dependendo da arquitetura da aplicacao, cada pagina pode requerer muitos arquivos de estilos, script ou imagens auxiliares, que acabam consumindo tempo para serem baixados e processados pelo navegador. Portanto, e util aplicar algumas tecnicas para minimizar o tamanho destes arquivos, afinal, arquivos menores podem ser trafegados mais rapidamente. Uma pagina rapida e sempre bem vista pelos buscadores, como o Google, pois impacta diretamente numa melhor experiencia do usuario.Neste artigo, veremos algumas dicas de como minimizar o tamanho de alguns tipos de arquivos, para tornar as paginas mais rapidas de serem carregadas e, consequentemente, ter maior relevancia para buscadores. Os assuntos estao divididos em:Minificando arquivos JS e CSSOtimizando arquivos PNGOtimizando arquivos JPGMinificando arquivos HTMLMinificando arquivos JS e CSSTodos que trabalham com JavaScript e CSS sabem que a sintaxe destas linguagens permitem a utilizacao de indentacao, quebras de linha e espacos, que sao muito uteis para a legibilidade. No entanto, a maioria destas indentacoes, quebras de linha e espacos nao tem nenhum efeito sobre o resultado gerado por estes arquivos, portanto, sao dispensaveis.O processo de minificacao de arquivos, portanto, tem o objetivo de remover caracteres dispensaveis de forma que o arquivo final tenha um tamanho menor que o arquivo original, mas o mesmo resultado.No caso do JavaScript, ainda existem outras possiveis otimizacoes, como a substituicao de nomes grandes de variaveis ou funcoes por nomes mais curtos. Alem disso, o processo pode ser acompanhado de um "embaralhamento" do codigo, que tem o objetivo de ofuscar o funcionamento do codigo, mas sem interferir em seu resultado principal.Existem varios minificadores e ofuscadores no mercado, mas vou apresentar a seguir uma ferramenta que faz estas tarefas muito bem: o YUI-compressor.O programa e em java, entao voce precisa de uma maquina virtual java (JVM) instalada para executa-lo. Com tudo pronto, acesse o link para baixar o YUI-compressor, baixe o "JAR" em algum diretorio.Para executa-lo, e muito simples. Veja como minificar um arquivo CSS chamado "arquivo.css" e gerar o arquivo minificado em "arquivo.min.css":$ java -jar /caminho/do/yuicompressor-2.4.8.jar --type css -o arquivo.min.css arquivo.cssNaturalmente que na sua aplicacao sera necessario ajustar a inclusao do CSS (pela tag <link>), para que seja incluido o arquivo minificado.Para minificar um arquivo JS chamado "arquivo.js" e gerar o arquivo minificado e ofuscado em "arquivo.min.js":$ java -jar /caminho/do/yuicompressor-2.4.8.jar --type js -o arquivo.min.js arquivo.jsDe forma analoga, voce vai precisar ajustar a inclusao do JS (pela tag <script>), para que seja incluido o arquivo minificado.Alguns parametros extras que voce pode passar sao: --charset [charset] Para informar a codificacao do arquivo. --line-break [tamanho] Para aplicar uma quebra de linha apos [tamanho] caracteres, ou passe "0" (zero) para aplicar uma quebra de linha apos cada ponto e virgula. --nomunge Para nao ofuscar o JavaScript, apenas minificar. --preserve-semi Para manter todas os ponto e virgulas do JavaScript. --disable-optimizations Para nao aplicar micro-otimizacoes no JavaScript.Apresentado o funcionamento do YUI-compressor, voce fica livre para definir onde serao colocados os arquivos minificados. Voce pode fazer um script que minifica todos arquivos CSS e JS, mantendo as versoes minificadas no