5 segundos de carregamento não são aceitáveis. Mas são a norma.
Quando inicias um programa, abres uma aplicação ou carregas um site, é provável que estejas à espera durante pelo menos vários segundos. É normal.
Não devia ser.
Assim que os teus clientes provarem tempos de carregamento e respostas rápidas, nunca te vão trocar por um concorrente — quando sentirem a diferença entre a tua aplicação rápida e a aplicação lenta do concorrente, a lenta vai irritá-los profundamente.
Como conseguir esta vantagem, alguns factos do mundo real e o que perguntar ao teu programador? Está tudo neste artigo.
Quão rápidas podem as coisas ser, na realidade?
Este não é um artigo técnico, por isso vamos apenas passar por cima de alguns números fundamentais e compreensíveis e compará-los com o mundo real.
Um CPU barato num telemóvel de baixo custo consegue processar milhares de milhões de instruções por segundo x pelo menos 2 núcleos (essencialmente 2 unidades de processamento).
A leitura de dados a partir de discos modernos faz-se a milhares de megabytes por segundo — mais uma vez, mesmo num telemóvel de baixo custo.
A transferência através da internet é, no mínimo, de centenas de megabytes por segundo.
A comparação
Comecemos pelo produto mais lento. Uma página web de alta qualidade, logo após o carregamento, pode ter, no limite superior, 15 a 25 megabytes.
O que significa que, no total, deverias introduzir o link num navegador aberto e ver o site em cerca de 1 a 2 segundos — totalmente carregado.
Se considerarmos uma aplicação no teu telemóvel, trata-se de ficheiros guardados no teu dispositivo, pelo que não se aplica aqui qualquer ligação à internet (a velocidade mais lenta). Com velocidades de gigabytes por segundo, deverias ver uma aplicação típica abrir e funcionar em 0,15 a 0,25 segundos.
Numa aplicação, programa ou site já aberto, uma interação passa apenas pelas velocidades mais rápidas do CPU e, por vezes, do GPU. Quando carregas num botão, o resultado deveria ser visível no teu ecrã de forma literalmente imediata.
A realidade atual
Na realidade atual, nem sempre é possível atingir essas velocidades. Mas, como podes imaginar, passar de 1 a 2 segundos para 5 segundos de carregamento também não é necessário, e o teu site ainda pode abrir em 2 a 3 segundos. E isto para uma página realmente grande que carece de uma boa otimização.
O que perguntar ao teu programador?
Não precisas de perceber tecnologia e programação em detalhe. Isto não serve para fazer uma entrevista técnica.
A stack
Começa com a pergunta «Qual é a tua stack?». Essa pergunta procura saber quais são as ferramentas e tecnologias com que constroem e sobre as quais constroem. Se o programador começar a falar-te de todas as tecnologias fantásticas que usa, isso é um sinal de alerta. O mesmo se disser coisas como «webview».
Porquê? Porque a maior parte do software lento de hoje é construída sobre algo que já foi construído antes, e esse algo é construído sobre outra coisa construída ainda antes. É uma corrente. O que significa que todas as velocidades mencionadas acima, que continuam válidas, têm de processar não o teu projeto, mas muitas camadas.
O WordPress é lento porque faz tudo, mesmo que não precises.
Medição
A segunda pergunta é como medem a velocidade. E quais são os seus objetivos de velocidade.
Surpreendentemente, muitos programadores dizem que o objetivo são 5 segundos. Isso é outro sinal de alerta. O mesmo se não tiverem uma resposta adequada sobre como medem — ou se a resposta for «abrimos e vemos».
Ver com os próprios olhos e sentir é uma parte necessária dos testes. Mas é também a origem de muitos problemas do tipo «no meu computador funciona».
Deverias começar a exigir métricas de velocidade
Dá mais trabalho fazer o teu projeto como deve ser. Mas não tanto quanto possas pensar.
Os projetos pequenos (como sites de uma só página) não têm diferença de trabalho mensurável entre começar do zero e usar ferramentas já existentes. Os projetos grandes exigem um planeamento cuidadoso, ponderar os prós e os contras e saber porquê usar as chamadas frameworks.
Parte da especificação do teu produto não deve ser apenas como o produto deve funcionar, mas também quão rápido deve ser. É uma discussão muito importante a ter.
Pela nossa experiência, percebemos que, para uma pessoa não técnica, esta é uma conversa desconfortável. É por isso que nós, na LINK-V, acompanhamos os nossos clientes ao longo do processo numa linguagem que compreendem. Afinal, o software é a camada entre o ser humano e o computador e, se fazemos o software, agimos da mesma forma.