A Ilusão de Desempenho do iPhone: Uma Verdadeira Verificação de Realidade para Desenvolvedores Web

2025-01-09

Este artigo expõe uma lacuna significativa de desempenho em aplicativos web móveis. Usando dados do Rum Archive, o autor compara as velocidades de carregamento de páginas web de usuários iOS e Android no Reino Unido, revelando que os usuários do Android experimentam um First Contentful Paint (FCP) 34% mais lento e um Time To Interactive (TTI) impressionantemente 66% mais lento. Ao analisar a correlação entre as pontuações de desempenho da CPU GeekBench e o Interaction to Next Paint (INP), o autor mostra que dispositivos Android de baixo custo exibem tempos INP significativamente mais altos do que dispositivos de alta qualidade, com iPhones mais antigos superando até mesmo os mais novos aparelhos Android de alta qualidade. O autor enfatiza que a grande base de usuários do Android não deve ser ignorada; negligenciar sua experiência leva a oportunidades perdidas. O artigo exorta os desenvolvedores a entenderem a diversidade de dispositivos de seus usuários, a usarem ferramentas RUM para obter insights sobre as condições do mundo real e a simularem dispositivos de baixo custo durante o desenvolvimento e os testes para criar aplicativos web mais inclusivos.

Leia mais

Terminando com Tarefas Longas: Dominando Loops Assíncronos para o Desempenho da Web

2025-01-04

Este artigo aprofunda a otimização de loops JavaScript para evitar o bloqueio da thread principal e melhorar o desempenho da web. O autor destaca que o uso de loops `for...of` ou métodos como `forEach` diretamente em arrays grandes pode criar tarefas longas, levando a uma experiência de usuário lenta. A solução envolve o uso de `scheduler.yield` ou `setTimeout(0)` com `async/await` para dividir tarefas longas em tarefas menores, cedendo o controle após cada iteração para manter a capacidade de resposta. O artigo explora ainda estratégias de processamento em lote e otimização da taxa de quadros para equilibrar a capacidade de resposta e a eficiência do processamento. Por fim, recomenda-se a escolha de um tamanho e estratégia de lote apropriados com base nas necessidades específicas do aplicativo para uma experiência de usuário ideal.

Leia mais