My PhotoBruno Brás Silva

09, April 1986

info@brunosilva.net

Sintra Lisbon Portugal

Compressão de ficheiros Javascript

Posted on 9:19pm 5/17/2008 by Bruno Silva in Programming, Web

Hoje em dia cada vez temos mais Javascript nos sites que produzimos. Existem “milhentas” bibliotecas giras que usamos para produzir experiências teoricamente mais ricas para os visitantes dos web sites. Vê-se de tudo, desde bibliotecas para efeitos visuais, até frameworks de AJAX incluindo também os nosso próprios ficheiros de script.

O download destes ficheiros corresponde a um overhead considerável, e por isso mesmo enquanto estava, recentemente, a trabalhar num site recorrendo à framework Adobe Spry, pesquisei sobre formas de minimar este peso extra no download. Encontrei uma entrada de um blog bastante interessante. Compara algumas abordagens.

A redução do tamanho de um ficheiro de código Javascript pode ser realizada removendo todos os caracteres dispensáveis: comentários, quebras de linha, espaços, etc. O código continua a ser válido, e correctamente interpretado, perdendo apenas a legibilidade. Encontra-se “na moda” haver versões de debug e release para bibliotecas Javascript por esta razão.

Pode-se ainda aproveitar a capacidade de compressão no protocolo HTTP e reduzir ainda mais o tamanho dos ficheiros, tendo sempre em consideração que vai implicar processamento extra no lado do cliente, pois o que foi comprimido tem de ser descomprimido, de forma a poder ser interpretado.

Deixo a comparação entre 2 métodos distintos de redução de tamanho de ficheiros javascript, que dá bem a ideia do compromisso que está em causa.

Javascript Compression

Para utilizar ficheiros em Javascript “gzipped” basta utilizar uma ferramenta que comprima neste formato, compactar o ficheiro e colocar o ficheiro gzip no atributo src da tag script.

Exemplo: <script type=”text/javascritpt” src=”mylib.js.gz”/>

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

© Bruno Silva | Powered by Wordpress