No ano passado, durante uma sessão de testes do usuário para o aplicativo BBC News, um dos usuários fez um comentário que realmente ficou comigo. Eles declararam: "Eu gosto de fluir". Eu não acho que há um resumo melhor de que meios de desempenho para nossos usuários. Em um aplicativo rápido ou site, o usuário pode fluir, interagir e se envolver com o conteúdo.
Experiências de fluxo são boas para os proprietários também. Uma experiência de fluxo rápido ajuda os usuários a alcançar seus objetivos e, por sua vez, alcançamos os objetivos de nossos organismos. A Amazon e outros demonstraram o forte elo entre o desempenho e a atividade do usuário: Como a espera pelas páginas cai, a quantidade de tempo e dinheiro que o usuário gasta sobe.
Leia mais: Nordvpn Review
Caches são criados quando uma pequena quantidade de algo é armazenada mais perto de onde é necessário, normalmente para evitar o retrabalho. Por exemplo, se eu estiver comendo Skittles, tendem a derramar alguns na minha mão e depois comer de lá. Com efeito, estou criando um cache de skittles na minha mão, pois é mais rápido paraê-los dessa maneira que voltar para o pacote.
Este mesmo padrão é usado em tecnologia. Existem três caches que temos que considerar:
O cache pode fazer uma enorme melhoria de desempenho; Na BBC, vi cache aumentar o desempenho mais de 20 vezes no código de produção. É benéfico para os operadores do site também. Com o cache, mais usuários podem ser suportados pelo mesmo hardware. Isso reduz o custo de hardware por usuário e, portanto, reduz os custos operacionais do site.
Para que seja eficaz, queremos usar dados em cache o máximo possível. Para estender a analogia de Skittles, se eu quiser um skittle azul, mas eu não tenho nenhum skittles azul na minha mão (também conhecido como meu cache), eu terei que voltar para o pacote. Isso é conhecido como "taxa de sucesso". É um "hit" quando o item está no cache e uma "falta" quando não é. Queremos uma alta taxa de sucesso para que o cache tira a maior parte da carga.
Um dos métodos mais simples para aumentar a taxa de sucesso é reduzir a variação. Esticando meu skittles analogia um pouco, imagine se todos os skittles estavam vermelhos. Dessa forma, qualquer skittle na minha mão seria um golpe de cache; Eu nunca precisaria voltar para o pacote. Aplicando isso à Web, se pudermos dar a mesma página para quantos usuários possibilitam, o cache se tornará mais eficaz à medida que mais solicitações atingirão o cache.
Então essa é a teoria. Vamos nos tornar práticos. Vamos começar olhando para cache a solicitação para o HTML. O cache de todos os tipos de arquivo é controlado usando cabeçalhos HTTP. Os cabeçalhos são dados (dados sobre dados) enviados do servidor para o navegador e visível para todo o hardware de rede entre. Para dizer ao mundo, tem permissão para cache nossas páginas e compartilhar esse cache entre os usuários, definimos o seguinte cabeçalho:
Cache-Control: public, max-age=30
Aqui, também definimos um limite de tempo: a quantidade máxima de tempo que o cache deve reutilizar esta página para, em segundos. Para este exemplo, coloquei para 30 segundos.
Ao definir a página para 'Public', o navegador do usuário (e qualquer hardware ao longo do caminho) manterá uma cópia. Portanto, a carga da primeira página fará uma solicitação, mas todas as cargas de página após a reutilizar a resposta original, até que o limite de tempo seja atingido.
O efeito do hardware da rede ao longo do caminho pode ser profundo. Muitas grandes redes (como ISPs) terão um cache compartilhado entre os usuários. Os operadores móveis também usam essa técnica pesadamente - por exemplo, para cache e recomprimir as imagens servidas ao longo de 3G. Os operadores de site também podem colocar um cache HTTP na frente de seu serviço. Isto é o que fizemos na BBC.
Uma técnica que usamos muito no BBC é tratar os ativos estáticos (como imagens, css e scripts) de maneira diferente de como tratamos páginas. Páginas HTML em cache para muito tempo podem resultar em usuários ausentes de atualizações de conteúdo, mas podemos aproveitar esse comportamento quando se trata de ativos estáticos.
Na BBC, enviamos todos os ativos estáticos com uma idade máxima de 31,536.000 segundos definidos no cabeçalho do cache. Isso garante que os ativos sejam armazenados em cache por 365 dias. Com efeito, os ativos são solicitados apenas uma vez. Isso é bom para o desempenho, mas ruim para flexibilidade, pois as alterações nesse ativo levarão muito tempo para chegar ao usuário.
Para contornar isso, toda vez que liberamos uma nova versão de uma página, alteramos o URL onde os ativos são mantidos. Esse truque significa que novas alterações são colocadas na frente dos usuários imediatamente, mas ainda recebemos os mesmos benefícios de desempenho.
O cache para melhorar o desempenho do site irá, por conseguir, reduzir os custos operacionais para nossos sites e preservar o fluxo de nossos usuários, levando a uma ótima experiência ao usuário.
Este artigo foi originalmente publicado em questão 279 da rede, a revista mais vendida do mundo para web designers e desenvolvedores. Comprar Edição 279. ou Inscreva-se na Net. .
Jason Lengstorf é um desenvolvedor, designer, autor e urso amigável. Seu foco é sobre a eficiência e o desempenho de pessoas, equipes e software. Na IBM, ele cria processos e sistemas para fazer a coisa certa a coisa fácil. Em todas as outras vezes, ele vagueia a terra em busca de novos e melhores lanches.
Em sua oficina moderna estratégias de desempenho front-end e técnicas em Gere Nova York de 25-27 de abril de 2018 , Jason estará mostrando participantes como melhorar os tempos de carga percebidos - quanto tempo parece que leva para carregar uma página - bem como tempos de carga reais, usando apenas técnicas fronteiras, incluindo:
Gerar Nova York ocorre de 25 a 27 de abril de 2018. Obtenha seu ingresso agora .
Artigos relacionados:
(Crédito da imagem: futuro) Na Web contemporânea e design de aplicativos, muitas vezes há momentos em que a intera..
Eu sempre achei que a originalidade é encontrada em algum lugar entre o que você gosta e o que você observa. Eu amo misturar f..
Cinema 4D. É ótimo em muitas coisas, mas pode desacelerar quando tem muitos objetos na cena, o que é um problema r..
A pintura negativa refere-se a pintar o espaço negativo que define formas positivas. Isto é especialmente importante com aquarela tradicional, onde pintando coisas como luz-c..
Esta semana viu a liberação de alguns novos vídeos no Adobe's Faça agora Playlist, uma coleção de clipes sobre como criar projetos de design com aplicativos de nuvem criativos em um min..
Enquanto forçando o seu Modelos 3D. Usar os ossos pode ser muito eficaz, às vezes esse método não é adequado - e expressões faciais é uma daquelas vezes. E..
O guerreiro é um projeto pessoal que eu tive a alegria de conceitar e projetar. Eu queria criar um personagem que incorpora o es..