A velocidade de carregamento de sites, plataformas e apps sempre será um problema a ser gerenciado quando o assunto é a performance da aplicação. Muitas coisas influenciam nesse aspecto, desde o dispositivo utilizado pelo usuário até o servidor em que a aplicação está hospedada.Existem muitos vilões de desempenho na web que podem ser eliminados. Remover ao máximo essas barreiras é fundamental para ter uma tecnologia que carregue de maneira suave e rápida para a maioria dos usuários.
Aqui estão alguns erros que o seu negócio precisa evitar para otimizar a performance da aplicação e alcançar tempos de carregamento mais rápidos, melhorando assim, a experiência dos seus clientes e visitantes.
1. Ativos estáticos não compactados no servidor
Quando um usuário acessa o seu site ou aplicação, uma chamada (requisição) é feita ao servidor para exibir os arquivos solicitados. Quanto mais pesados são esses arquivos, mais tempo leva para processar a requisição que fará os elementos aparecerem na tela. Este é um dos maiores assassinos de desempenho na web.
Para sites, plataformas e e-commerces, o Gzip é uma ferramenta importante, que reduzirá a velocidade de transferência de arquivos do seu servidor para o navegador, compactando as páginas e folhas de estilo antes de enviá-las ao navegador.
A compactação reduz drasticamente o tempo de transferência, pois os arquivos resultantes, após passarem pelo Gzip, serão muito menores (pode haver uma redução de até 70% no tamanho dos arquivos). Dessa forma, utilize o Gzip é uma boa dica para otimizar a performance da aplicação.
2. CSS e JavaScript não minimizados
A minimização reduzirá o tamanho de um arquivo CSS ou JavaScript e removerá todos os caracteres desnecessários do código, mantendo sua funcionalidade.
Ao minimizar CCS e JavaScript é possível:
- Remover espaços em branco, comentários e código não utilizado nos scripts;
- Otimizar expressões condicionais;
- Encurtar nomes de variáveis e funções;
- Ocultar o código de produção.
A minimização também reduz a latência da rede (o tempo que os pacotes de dados levam para ir de um ponto a outro), levando a tempos de carregamento mais rápidos.
Para reduzir as folhas de estilo, tente CSSNano e CSSO. Já para reduzir o JavaScript, experimente UglifyJS2.
3. Imagens não otimizadas
As imagens em uma página ou app podem ser otimizadas para reduzir o tamanho do arquivo sem afetar a qualidade de resolução.
As imagens geralmente são responsáveis pela maioria dos dados processados. Otimizar imagens é uma das maneiras mais fáceis de aumentar a performance da aplicação.
Na otimização de imagens, é possível:
- Comprimir sem perda de qualidade;
- Converter imagens em tipos de arquivo apropriados para um melhor desempenho na web;
- Reduzir espaços não utilizados ao redor das imagens;
- Salvar imagens nas dimensões adequadas.
4. Não aproveitar o cache do navegador
O armazenamento em cache reduz o tempo de carregamento de páginas para visitantes recorrentes, armazenando arquivos já carregados no navegador do usuário. Os arquivos armazenados não precisam ser buscados ou carregados novamente por um período de alguns dias.
O armazenamento em cache salvará os arquivos comumente usados e, portanto, eliminará a necessidade de buscar esse conteúdo novamente no servidor em um futuro acesso, tornando as visitas subsequentes mais rápidas e, por consequência, melhorando a performance da aplicação.
5. Muitos redirecionamentos
Os redirecionamentos são frequentemente configurados em um site ou aplicação quando algum endereço antigo é modificado ou removido, se a página for renomeada ou se o URL da página estiver sendo otimizado para SEO, por exemplo.
No entanto, com o tempo, a necessidade de redirecionamentos pode aumentar.
O problema é que um redirecionamento requer um ciclo de solicitação-resposta HTTP adicional e atrasa o carregamento da página. Por isso, remova redirecionamentos desnecessários para não prejudicar a performance da aplicação.
6. HTML e CSS inválidos
Escrever HTML e CSS em conformidade com os padrões W3C significa ser interpretado de forma mais consistente e rápida por navegadores modernos.
O HTML inválido pode retardar o carregamento da página, pois o navegador precisa processar instruções desnecessárias ou inválidas.
Já o CSS inválido pode diminuir o tempo de renderização de uma página.
Execute seu HTML por meio do validador de HTML W3C e CSS por meio do validador CSS do W3C.
7. Tecnologias ultrapassadas
Evite usar tecnologias desatualizadas como Flash, Java e Silverlight na sua aplicação.
A maioria dos dispositivos móveis não oferecem suporte a essas tecnologias, o que significa que qualquer conteúdo contendo Flash, Silverlight ou Java pode ficar inacessível para os usuários móveis. Além disso, essas tecnologias são a principal causa de travamentos e incidentes de segurança nas páginas que as utilizam.
Em vez de empregar essas tecnologias ultrapassadas, crie a sua aplicação utilizando modernas tecnologias nativas da web para garantir a compatibilidade com todos os dispositivos e navegadores, além da segurança aos usuários.
8. Servidores lentos
Um servidor lento é o assassino de desempenho mais complexo e, a melhor forma de resolver esse problema é através de uma solução de APM, como o AppDynamics.
Além disso, você também deve optar por um servidor de hospedagem com um excelente suporte.
Acredite, problemas na performance da aplicação podem acontecer e com uma má equipe de suporte, as dores de cabeça serão grandes.
9. Muitos pedidos HTTP
Se a sua aplicação na web estiver carregando muitos scripts e recursos, isso pode criar um problema de performance. Cada ativo deve ser buscado com uma solicitação HTTP separada, portanto, se houver dezenas de folhas de estilo separadas e muitos arquivos JavaScript que devam ser buscados no carregamento da requisição, poderá realmente tornar as coisas mais lentas.
Uma boa estratégia é fazer com que algumas coisas sejam intencionalmente carregadas mais tarde, colocando esses scripts na parte inferior do documento.
Outra maneira de lidar com esse problema é compactar scripts e folhas de estilo, onde possível.
Vários arquivos JavaScript podem, em muitos casos, ser mesclados em um único arquivo com várias funções separadas. O mesmo pode ser feito para as folhas de estilo (CSS).
10. Scripts e plug-ins desnecessários e não utilizados
Conforme um aplicativo cresce, bits aleatórios de CSS, JavaScript, plugins, dependências de Nós, entre outras coisas, podem se acumular, juntado uma poeira que, em alguns casos, desperdiçará recursos e prejudicará a performance da aplicação.
Remover códigos desnecessários e não utilizados pode ajudar bastante, especialmente quando esses códigos são armazenados em ativos que devem ser buscados separadamente no momento do carregamento.
Existem muitas ferramentas por aí para ajudar neste processo de verificação de ativos não utilizados, como Purify CSS.
11. Não usar um CDN
A última consideração importante, é: use uma rede de distribuição de conteúdo (CDN) para aprimorar a performance da aplicação. O princípio básico do CDN é a existência de uma rede de servidores espalhados por uma região, ou até mesmo por todo o mundo, onde é possível armazenar em cache o conteúdo da sua aplicação.
Quando algum usuário começar a carregar os recursos por meio do navegador, a tecnologia CDN utilizará o servidor mais próximo, gerando assim uma veloz capacidade de resposta.
Dessa forma, o CDN oferece um grande benefício de velocidade, pois haverá menos problemas de latência causados pela distância física do usuário em relação aos servidores.
A performance da sua aplicação pode ser gerenciável com apenas uma ferramenta
Como vimos, existem muitas dicas para lidar com as barreiras de desempenho na web.
Porém, você já pensou como pode ser difícil identificar todos esses problemas, para só assim, conseguir resolvê-los? Na prática, essa identificação torna-se quase impossível caso o seu negócio não utilize uma solução de APM, como o AppDynamics, para monitorar 24h por dia a sua aplicação e receber alertas sempre que alguma anormalidade na performance for identificada, automaticamente, pelo sistema.
Evite usar dezenas de ferramentas diferentes de monitoramento, que te custarão muito mais caro e tornarão todo o processo mais complexo e maçante.
Com o AppDynamics, é possível ter todo o monitoramento de performance da aplicação em uma única tela.