30KB

July 15th, 2007 § 5 comments

Eu ainda me lembro da época em que 30KB era o limite recomendado para o tamanho de uma página, incluindo imagens e quaisquer outros elementos. Obviamente, com a passagem do tempo, esse limite foi subindo e hoje é algo quase esquecido–muitas das páginas um pouco mais elaboradas que se vêem hoje possuem mais do que isso só em CSS.

Nos últimos tempos, eu estou acessando bastante a Internet em trânsito, usando o acesso EDGE do meu plano de telefonia. Como esse acesso é razoavelmente rápido, eu não chego a fica muito incomodado com a demora de algumas páginas, embora a diferença seja enorme comparando com os 4Mbps que eu tenho em casa e que uso normalmente para a maior parte do meu acesso.

O que mais me chamou a atenção nesse período é ver como praticamente qualquer página acessa ultrapassa facilmente o limite de 300-500KB de dados, com uma porcentagem boa ficando acima disso. Muitas chegam aos 1MB. O fato é que, mesmo com uma conexão de 4Mbps, uma página com 1MB quase sempre demora mais do que os possíveis dois segundos porque múltiplas conexões podem ser necessárias–e, geralmente, de vários servidores diferentes.

A grande ironia nisso tudo é que os grandes culpados são CSS e Javascript. O primeiro muitas vezes por causa do último, pelo uso de bibliotecas prontas que incluem sempre arquivos extras que os programadores das páginas não tem o cuidado de remover. O uso de bibliotecas como JQuery, Prototype, Dojo ou YUI pode facilmente adicionais centenas de KB a uma página se um certo cuidado não for tomado. E, muitas vezes, essa carga extra não só não roda, como impede que uma página seja visualizada em um dispositivo móvel.

Como isso tudo eu não estou advogando que devemos voltar ao limite de 30KB. Mas é uma prática interessante e necessária cuidar para que as páginas de seu site ou aplicação sejam os mais leves possíveis. Remover todo o CSS desnecessário, minificar seu código JavaScript–e dependendo do caso o HTML–pode ser algo interessante, poupando bastante banda para usuários que não tem acesso a banda larga ou que estão acessando de condições limitadas. Dependendo da situação, isso pode resultar inclusive em ganhos de acessibilidade.

O limite de 30KB existiu para uma época bem específica, mas existe sempre o fato de que o desenvolvimento da Web não é linear. Cuidar bem de suas páginas e evitar código e dados desnecessários ainda é uma boa política de vizinhança.

§ 5 Responses to 30KB"

  • Rafael says:

    É Ronaldo, estou passando pela mesma frustração, pois desde o mês passado tenho tentado diminuir o tamanho da minha home (555KB) sem sucesso. Inclusive acho até que eu devo ter aumentado sem querer. Mas na minha opinião algo em torno de 250KB seria o ideal mesmo com o excesso de banda disponível no Dreamhosts da vida.

    Abraços

  • Hugo says:

    Bem, concordo com você.

    Recentemente tive que usar uma biblioteca de javascript aqui no trabalho. Apesar de ser uma intranet (quase todos usuários acessam localmente) tentei reduzir um pouco o tamanho da página.
    Optei por jquery por ela ter oficialmente uma versão compactado com menos de 30kb, o que não acontece com prototype, por exemplo.

  • Boa observação, já passei pela mesma situação :)

  • Rapha says:

    Realmente, tem gente que perdeu a noção. Mas eu só não acho que o jQuery se encaixe nesta lista (por enquanto), afinal uma das prioridades da equipe é deixá-lo leve, em torno de 15~20Kb.

    Mas gostei do artigo! Seu feed ganhou um assinante

    =)

  • Ronaldo says:

    Rafael, pois é. O povo não se preocupa com as opções alternativas e o consumo via dispositivos móveis só está aumentando. O pior, é que numa TIM da vida, 250KB representam R$2.25 de consumo. :-)

    Hugo, se não me engano, o prototype tem versões minificadas também–se não tiver, é só usar o js-min.

    O problema, na verdade, não está em uma biblioteca só. O problema é que a gente vai pendurando bibliotecas prontas: jQuery, thickbox, niftycorners, e quando vê, o bicho está pegando. :-)

    Rapha, o jQuery sozinho realmente não é problema: o problema é quando junta aquele tanto de outras bibliotecas. Aí começa a complicar. :-)

    Obrigado pela assinatura, a propósito. :-)

Leave a Reply

Your email address will not be published. Required fields are marked *

What's this?

You are currently reading 30KB at Superfície Reflexiva.

meta