Skip to content

Instantly share code, notes, and snippets.

@reginadiana
Last active May 15, 2023 23:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save reginadiana/f3602f1f2952adbef97cafcdd9248448 to your computer and use it in GitHub Desktop.
Save reginadiana/f3602f1f2952adbef97cafcdd9248448 to your computer and use it in GitHub Desktop.
Anotações sobre Performance

Performance

Vários estudos mostram que a performance final para o usuário, que ele percebe ao abrir o navegador desktop ou no 3G do mobile depende mais do frontend do que do backend.

Um site rápido leva no máximo 1s para carregar, um site mediano leva entre 1 e 2.5s para carregar e um site lento leva mais de 2.5s para carregar.

Removendo javascript inutil

Em coverage conseguimos ver todo o css e javascript que não estão sendo utilizados em vermelho.

image

A performance é calculada a partir de 6 métricas. Cada métrica captura algum aspecto relacionado a velocidade de carregamento. O ideal é foquemos em uma metrica especifica por vez.

First Contentful Paint

Menssura quanto tempo o browser leva para carregar a primeira peça do DOM. O tempo idela para essa métrica é de 1.2s. Para melhorar essa métrica, temos que trabalhar para carregar menos css, javascript e arquivos estáticos como imagens, icones e videos, permitir que o backend retorne apenas os dados necessários.

Dispositivos mobile possuem um limite de CPU e memória. 60% da conexão desses dispositivos ao redor do mundo é 2G.

Longas Tarefas do Javascript

Uma das métricas de performance é o time to interactive, que representa quando os usuários podem de fato interagir com a página e obter uma resposta. Uma long task pode contribuir para um tempo maior a partir do momento que ela "congela" a UI, impedindo com que os usuários possam interagir com ela. Esse processo não deve levar mais que 50ms pois consomem muita CPU. O que podemos fazer é trabalhar para carregar os recursos nos momentos necessários.

  • Diminua a quantidade de cookies e requests da página.

  • Faça o cache de arquivos estáticos.

  • Adie o carregamento do não for necessário para o primeiro carregamento da página e faça de forma assincrona.

  • Diminua o trafego de dados diminuindo o payload do servidor.

  • Habilite o GZIP no servidor para comprimir arquivos html, css e js.

Elements > Event Listenings: Lista todos os eventos que estão na página.

Elements

O que conseguimos fazer:

  • Inspecionar elementos html e analizar as propriedades css de cada um.
  • Arrastar os elementos html
  • Adicionar/Modificar/Remover html e propriedades css
  • ctrl + f abre um input de busca por seletores html e css
  • Ao selecionar um elemento, conseguimos ter uma visão de seus elementos pai
  • Event Listening conseguimos ver todos os eventos associados a um determinado elemento
  • Capturar print do elemento selecionado
  • Toogle Element State faz com que possamos forçar um estado do elemento nem precisar provocar esse estado sozinho (hover/active/focus/target/visited/etc)
  • box model é onde conseguimoos ver as propriedades de espaçamento interno, externo, borda, largura e altura em pixels.
  • Na lista de propriedades css de um elemento, é mostrado em qual arquivo e qual linha foi definido.

Console

O que conseguimos fazer:

Sources

O que conseguimos fazer:

  • Salvar as alterações que fizemos em disco com workspace, podemos ver as modificações e reverte-las
  • Mostra os arquivos do projeto de forma mimificada a fim de melhorar a performance
  • Debugar javascript. Podemos usar o brekpoint, que funciona como um prybybug no Rails ou IEx.pry no Elixir, tornando a investigação do código mais dinamica e eficiente do que usar apenas o console.log()
  • Em snippet podemos criar arquivos javascript e executar código.

Network

O que conseguimos fazer:

Performace

O que conseguimos fazer:

Memory

O que conseguimos fazer:

Application

O que conseguimos fazer:

Lighthouse

O que conseguimos fazer: analizar o score de SEO, acessibilidade, performace, melhores práticas e PWA nas versões mobile e desktop.

  • Para cada tipo de score, o tools pode retornar uma lista com os pontos a melhores acompanhado de um material de consulta, que te ajudará a resolver aquele problema e melhorar o score.

JavascriptProfile

O que conseguimos fazer:

Layers

O que conseguimos fazer:

Media

O que conseguimos fazer:


DevTools

Para abrir: F12

Navegação

image

Inicia inspeção dos elementos: CRL + shift + c. Agora, basta passar o mouser por cima dos elementos na pagina. Abre o toogle device toolbar: CRL + shift + M

chrome://version mostra as informações do navegador

ctrl + f abre a busca dos elementos no devtools

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment