Muitas vezes, como desenvolvedores, ignoramos um último passo crucial antes de lançar um site: otimizando o desempenho .
A maioria dos desenvolvedores agora reconhece que códigos organizados e válidos garantem a capacidade de manutenção e a compatibilidade.
Qualquer um que duvide disso tem apenas que falar com um desenvolvedor que pegou o trabalho em um site antigo que está repleto de código de espaguete desorganizado e descomentado.
Assim como preparar nosso código para ser lido por outros desenvolvedores é importante, também está preparando nosso código para ser lido pelos navegadores. Um ótimo desenvolvimento web pode começar com uma ótima organização, mas termina com uma ótima otimização.
Este artigo apresenta as melhores práticas de desempenho de front-end.
Quando um visitante solicita uma página do seu site, várias coisas acontecem:
Embora esse processo pareça bastante simples, várias complicações podem realmente atrasá-lo:
Embora tudo isso possa parecer um pouco complicado, existem práticas recomendadas a serem seguidas para torná-lo muito mais simples. Tanto o Google quanto o Yahoo oferecem diretrizes bastante abrangentes para levar a otimização de sites ao extremo:
Muitas de suas recomendações exigem um pouco de trabalho. Abaixo estão as cinco melhores coisas que você pode fazer hoje para melhorar o desempenho do seu site com o mínimo de esforço.
Mover seus arquivos JavaScript para o rodapé da página é a coisa mais rápida e fácil que você pode fazer para melhorar o desempenho. Muitos navegadores bloqueiam downloads paralelos ao carregar arquivos JavaScript externos; colocando seus arquivos no rodapé, os navegadores começarão a carregar outras coisas primeiro.
Observe, no entanto, os efeitos colaterais no tempo e na aparência. Se você estiver usando JavaScript para alterar a aparência de um elemento, ele não será executado até depois de um atraso maior.
Carregar o CSS primeiro é tão importante quanto colocar o JavaScript no final do documento HTML, por dois motivos:
Ao colocar o CSS na parte superior do documento, você garante que todas as imagens de plano de fundo sejam carregadas imediatamente e que seu site seja processado o mais rápido possível.
Ao escrever código para manutenção, o uso de várias folhas de estilo diferentes e arquivos JavaScript geralmente faz sentido. Ao otimizar o desempenho, essa é quase a pior coisa que você pode fazer. Com cada arquivo adicionado, um cabeçalho precisa ser enviado e uma solicitação adicional precisa ser enviada e enviada do servidor.
Combine todo o seu CSS em um arquivo e todo o seu JavaScript em outro, e então minimize os dois. (Não esqueça de colocar o CSS no topo do documento HTML e o JavaScript no rodapé.)
Embora a recompilação e a redução de seus arquivos após cada alteração possam soar como uma dor, a diferença de desempenho é realmente dramática.
Recursos de compilação e minimização:
Atualmente, muitos sites contêm scripts e widgets de terceiros que carregam dados de outros servidores. Exemplos são o botão Tweet, a caixa de fãs do Facebook, o botão Share This e até o Google Analytics. Você pensaria que tudo isso seria bem planejado, mas muitos não são. Por exemplo, o Widget do Digg faz nove pedidos , é de 52 KB e bloqueia o download da página principal!
Use esses widgets com moderação, meça seu desempenho e procure alternativas assíncronas. Alternativas para os widgets mais populares estão disponíveis; instalá-los é um pouco mais complicado, mas eles funcionam muito melhor. Você geralmente pode encontrá-los com um pouco de escavação.
Recursos do widget assíncrono:
Várias ferramentas excelentes facilitam a medição do desempenho do seu site. Alguns podem ser usados no navegador; outros estão online:
A maioria dos desenvolvedores da Web poderia implementar as cinco dicas acima com bastante facilidade. Dito isso, várias outras coisas valem a pena se você quiser se aprofundar um pouco mais e otimizar a configuração do seu servidor.
Inclua um cabeçalho de expiração com todos os arquivos enviados por seu servidor. Isso informa ao navegador quanto tempo o arquivo é bom. Dessa forma, o navegador sabe salvar o arquivo na próxima vez em que é referenciado, para que o navegador não precise recuperá-lo novamente do servidor.
Muitos sites incluem o mesmo arquivo CSS em todas as páginas, mas não há motivo para que um visitante precise baixá-lo em todas as páginas; o navegador deve saber para armazená-lo em cache.
Os computadores de hoje são muito rápidos. A compactação Gzip aproveita isso, pedindo ao servidor para compactar todos os arquivos antes de enviá-los ao visitante.
O navegador do visitante faz o download e o descompacta. No passado, tínhamos que considerar os recursos do servidor para decidir se isso seria permitido. Hoje, não há praticamente nenhuma desvantagem em ativar o gzip.
Google acaba de lançar um módulo Apache chamado mod_pagespeed . Implementa automaticamente quase todas as técnicas deste artigo.
Entender as técnicas antes de implementar este módulo ainda é importante; Se você souber como o site funciona, poderá aproveitar os vários filtros do mod_pagespeed. Um desses filtros, Combine CSS , localiza, combina e minifica todos os CSS referenciados no HTML.
O módulo possui vários filtros e configurações que podem melhorar o desempenho do seu site. Todos valem a pena olhar.
Embora não seja o tópico mais glamouroso, a otimização merece mais atenção. Nosso trabalho como desenvolvedores é aprender as melhores práticas do setor para oferecer o trabalho de melhor qualidade aos nossos clientes e usuários.
Este post foi escrito exclusivamente para Webdesigner Depot por Joel Sutherland, fundador e desenvolvedor web em Novas campanhas de mídia . Ele faz parte da equipe que acaba de lançar Hi Fi , um moderno sistema de gerenciamento de conteúdo criado para designers com os clientes em mente. Siga Joel no Twitter ou entre em contato com ele no site da HiFi.
Você conhece uma maneira fácil de melhorar o desempenho de um site que não foi mencionado neste artigo? Por favor, compartilhe e sua experiência nos comentários abaixo.