Atenção

Seu navegador (Internet Explorer, Firefox, etc) não suporta CSS ou este recurso está desabilitado.

Não é possível acessar corretamente esta página sem ele.




Início
Compactando, criptografando e juntando arquivos javascript e css Imprimir E-mail
Tag it:
Delicious
Furl it!
Spurl
NewsVine
Reddit
YahooMyWeb
Technorati
Rec6
Digg
Por Antonio Jozzolino   
06 de agosto de 2008

Os sites, tal qual a humanidade, estão engordando. Lembro-me que na década passada uma das guidelines sobre desenvolvimento de sites era de que cada página não deveria ultrapassar os 20 K, somando inclusive as imagens.

Isto parece piada hoje. O Google, que é o site mais magrelo que existe, tem 25.7 K. Por outro lado, o Gmail, segundo a extensão do Firefox YSlow, tem 390.5 K, praticamente o conteúdo de um disquete de 5 ¼ “, se é que vocês jovens sabem o que é isso...

O site do Terra também está precisando de uma lipo: 193.6 K, 118 http requests. Só de javascript, tem 33.1K. E 7 K de css.

O meu site também não fica atrás: 178.3 K, 39  HTTP request, 61.9 K de javascript e 49.3 K de css. Bom, aqui temos que descontar o código do adsense e mesmo do Google analytics, que são beem grandinhos. Pelo menos estão “gzipados”. (Nota: apagar esse mau exemplo. Usar o site de algum concorrente.)

Claro que as imagens continuam tento impacto grande. Porém, com o avanço dos browsers e seu suporte para javascript e css, o que vem ocorrendo é justamente o inchaço destes arquivos.
Outro fator é o uso de frameworks para aumentar a produtividade e continuar no jogo cada vez mais exigente do desenvolvimento web. Mas os frameworks cobram seu preço, que é justamente a largura de banda. Este site é um bom exemplo. Se por um lado o Joomla! me poupa um bom tempo no desenvolvimento, por outro lado tem um código redundante e bagunçado, especialmente se for usar extensões de terceiros, que nem sempre seguem as boas regras de programação que o CMS recomenda. 

Pelo menos o Joomla! permite compactar os próprios arquivos com Gzip, que é aceito pelos browsers modernos. Isto significa que o servidor compacta os arquivos com um algorítimo parecido com o zip, envia para o browser cliente, que descompata e mostra para você. Claro que isso acaba custando processamento tanto do cliente quanto do servidor, mas a economia de banda é muito grande.


Mas o Joomla não compacta os arquivos css nem os javascript. Tenho adaptado esta solução aqui para alguns sites, incluindo algum código para optimizar o css usando o CSSTity. Mas o Joomla!  usa o mod_rewrite do Apache,  e o .htaccess original não funcionou bem com as modificações sugeridas pelo autor. E pensando que nem sempre temos acesso ao .htaccess, resolvi fazer uma classe baseado nesta idéia, utilizando o algorítimo Packer para diminuir e embaralhar o código javascript, o CSSTidy para optimizar o css, e por fim compactar tudo com gzip. E para evitar carga de processamento desnecessário, faz cache dos arquivos.


Tem outra vantagem também. Você pode continuar trabalhando com quantos javascripts e css quiser. O script simplesmente vai juntar tudo em um único arquivo javascript e outro css, diminuindo a quantidade de HTTP requests para o servidor, o que acaba comprometendo a velocidade de download do site.

O uso é bastante simples e está explicado com exemplos na documentação.

Links:


Publique este artigo no seu site | Visto: 1636 | Imprimir

Seja o primeiro a conmentar este artigo.
Comentários em RSS

Escrever comentário
  • Por favor, o assunto do seu comentário precisa ser relevante ao assunto do artigo.
  • Ataques pessoais serão deletados.
  • Por favor, não use os comentário para fazer propaganda de seu site ou será deletado.
Nome:
E-mail
Homepage
Título:
BBCode:Web AddressEmail AddressBold TextItalic TextUnderlined TextQuoteCodeOpen ListList ItemClose List
Comentário:



Código:* Code
Quero ser contactado por e-mail avisando sobre comentários

Powered by AkoComment Tweaked Special Edition v.1.4.6
AkoComment © Copyright 2004 by Arthur Konze - www.mamboportal.com
All right reserved

Última Atualização ( 06 de agosto de 2008 )
 
Tag it:
Delicious
Furl it!
Spurl
NewsVine
Reddit
YahooMyWeb
Technorati
Rec6
Digg
Próximo >



      Pingar o BlogBlogs   Clicky Web Analytics