SlideShare uma empresa Scribd logo
1 de 25
Otimização Front End
Por que otimizar?
porque otimizar 
● usuário não gosta de esperar 
● melhor experiência de usuário 
● melhorias de SEO
renderização
otimização front end 
● otimização do critical rendering path 
● minimizar o total de requests 
● paralelização de requests 
● prefetching 
● compactação e otimização do conteúdo
critical rendering path 
● CSS no cabeçalho 
● evitar @import no css 
● javascript async e defer 
● javascript síncrono antes de fechar a tag body
critical rendering path
critical rendering path
critical rendering path 
Javascript síncrono Javascript assíncrono 
● Bloqueia construção do 
DOM 
● Execução ordenada 
● Não bloqueia a 
construção do DOM 
● Execução desordenada
critical rendering path
critical rendering path 
AMD 
Asynchronous Module Definition 
Especificação para o mecanismo de definição de 
módulos de forma a qual os módulos e suas 
dependências sejam baixadas assíncronamente.
minizar total de requests 
● concatenar e minimizar css e javascript 
● eliminar downloads desnecessários 
● sprite de imagens 
● cache de recursos
Inline vs external 
Inline external 
● não aproveita o cache do 
navegador 
● uma requisição a menos 
● aproveita o cache do 
navegador 
● uma requisição a mais
Inline vs external 
Inline external 
● não aproveita o cache do 
navegador 
● uma requisição a menos 
● aproveita o cache do 
navegador 
● uma requisição a mais 
Qual o melhor?
inline vs external 
Inline external 
● não aproveita o cache do 
navegador 
● uma requisição a menos 
● aproveita o cache do 
navegador 
● uma requisição a mais 
Qual o melhor? 
Depende da situação!
paralelização de request 
● média de 4 à 8 conexões simultâneas com mesmo 
hostname 
● CDN (Content Delivery Network)
prefetching 
<link rel=”prefetch” href=”imagem.png”> 
informa o browser para baixar previamente um 
recurso 
<link rel=”subresouce” href=”jquery.js”> 
informa o browser para baixar previamente um 
recurso com alta prioridade
Prefetching 
<link rel=”dns-prefetch” href=”//sub.domin.io”> 
informa o browser para resolver os dns de outros 
domínios ou subdomínios previamente 
<link rel=”prerender” href=”/pagina/2/”> 
informa o browser para baixar a próxima página 
e os seus recursos e inicia a renderização em 
memória (não sendo visível para o usuário)
compact. e otim. de conteúdo 
minificação e gzip do conteúdo 
remover informações que não são necessárias 
como comentários e espaços em branco e 
compactar o conteúdo 
otimização de imagens 
remoção de informações desnecessárias 
(metadata, cores)
otimização de imagens
otimização de imagens
otimização de imagens 
180kb 54kb 20kb
ferramentas 
YSlow 
PageSpeed Insights
Obrigada!
Referências 
http://csswizardry.com/2013/01/front-end-performance-for- 
web-designers-and-front-end-developers/ 
https://developers.google.com/web/fundamentals/perfor 
mance/ 
https://developer.mozilla.org/en- 
US/docs/Web/HTTP/Controlling_DNS_prefetching 
https://www.igvita.com/2014/05/20/script-injected-async-scripts- 
considered-harmful/

Mais conteúdo relacionado

Mais procurados

Angular js com diretivas
Angular js com diretivasAngular js com diretivas
Angular js com diretivasMatheus Lima
 
Jaydson Gomes: O Nosso Amigo iFrame
Jaydson Gomes: O Nosso Amigo iFrameJaydson Gomes: O Nosso Amigo iFrame
Jaydson Gomes: O Nosso Amigo iFrameiMasters
 
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3André Luiz Forchesatto
 
Módulo: 5 – Desenvolvimento de Páginas Web Dinâmicas: Javascript
Módulo: 5 – Desenvolvimento de Páginas Web Dinâmicas: JavascriptMódulo: 5 – Desenvolvimento de Páginas Web Dinâmicas: Javascript
Módulo: 5 – Desenvolvimento de Páginas Web Dinâmicas: JavascriptAgrupamento de Escolas da Batalha
 
Arquitetura Web Desacoplada - FCI/Mackenzie
Arquitetura Web Desacoplada - FCI/MackenzieArquitetura Web Desacoplada - FCI/Mackenzie
Arquitetura Web Desacoplada - FCI/MackenzieVivaldo Jose Breternitz
 
LabMM3 - Aula teórica 04
LabMM3 - Aula teórica 04LabMM3 - Aula teórica 04
LabMM3 - Aula teórica 04Carlos Santos
 
Brutos Framework (Java WEB MVC)
Brutos Framework (Java WEB MVC)Brutos Framework (Java WEB MVC)
Brutos Framework (Java WEB MVC)Afonso Brandão
 
ASP.NET MVC - O que tem de melhor
ASP.NET MVC - O que tem de melhorASP.NET MVC - O que tem de melhor
ASP.NET MVC - O que tem de melhorCleber Dantas
 
Programando razor
Programando razorProgramando razor
Programando razorVitor Reis
 
Arquitetura de aplicações Web 2.0 em Java
Arquitetura de aplicações Web 2.0 em JavaArquitetura de aplicações Web 2.0 em Java
Arquitetura de aplicações Web 2.0 em JavaBreno Vitorino
 

Mais procurados (20)

Framework web 3 - JSF + Spring boot
Framework web 3 - JSF + Spring bootFramework web 3 - JSF + Spring boot
Framework web 3 - JSF + Spring boot
 
Spring data
Spring dataSpring data
Spring data
 
Angular js com diretivas
Angular js com diretivasAngular js com diretivas
Angular js com diretivas
 
Talk at QConSP
Talk at QConSPTalk at QConSP
Talk at QConSP
 
Java script
Java scriptJava script
Java script
 
Jaydson Gomes: O Nosso Amigo iFrame
Jaydson Gomes: O Nosso Amigo iFrameJaydson Gomes: O Nosso Amigo iFrame
Jaydson Gomes: O Nosso Amigo iFrame
 
Node.js for Noobs
Node.js for NoobsNode.js for Noobs
Node.js for Noobs
 
Apresentação Jquery
Apresentação JqueryApresentação Jquery
Apresentação Jquery
 
Ass - RIA
Ass - RIAAss - RIA
Ass - RIA
 
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
Dividindo responsabilidades com VRaptor, Rest, HTML5 e CSS3
 
Módulo: 5 – Desenvolvimento de Páginas Web Dinâmicas: Javascript
Módulo: 5 – Desenvolvimento de Páginas Web Dinâmicas: JavascriptMódulo: 5 – Desenvolvimento de Páginas Web Dinâmicas: Javascript
Módulo: 5 – Desenvolvimento de Páginas Web Dinâmicas: Javascript
 
Arquitetura Web Desacoplada - FCI/Mackenzie
Arquitetura Web Desacoplada - FCI/MackenzieArquitetura Web Desacoplada - FCI/Mackenzie
Arquitetura Web Desacoplada - FCI/Mackenzie
 
LabMM3 - Aula teórica 04
LabMM3 - Aula teórica 04LabMM3 - Aula teórica 04
LabMM3 - Aula teórica 04
 
Fundamentos de Programação Front-End
Fundamentos de Programação Front-EndFundamentos de Programação Front-End
Fundamentos de Programação Front-End
 
Brutos Framework (Java WEB MVC)
Brutos Framework (Java WEB MVC)Brutos Framework (Java WEB MVC)
Brutos Framework (Java WEB MVC)
 
Programando Javascript sem jQuery
Programando Javascript sem jQueryProgramando Javascript sem jQuery
Programando Javascript sem jQuery
 
ASP.NET MVC - O que tem de melhor
ASP.NET MVC - O que tem de melhorASP.NET MVC - O que tem de melhor
ASP.NET MVC - O que tem de melhor
 
Angularjs
AngularjsAngularjs
Angularjs
 
Programando razor
Programando razorProgramando razor
Programando razor
 
Arquitetura de aplicações Web 2.0 em Java
Arquitetura de aplicações Web 2.0 em JavaArquitetura de aplicações Web 2.0 em Java
Arquitetura de aplicações Web 2.0 em Java
 

Semelhante a Otimização front end

Navegadores por de baixo dos panos - Ana Luiza Bastos
Navegadores por de baixo dos panos - Ana Luiza BastosNavegadores por de baixo dos panos - Ana Luiza Bastos
Navegadores por de baixo dos panos - Ana Luiza BastosiMasters
 
Um milhao de usuários simultâneos
Um milhao de usuários simultâneosUm milhao de usuários simultâneos
Um milhao de usuários simultâneosFernando Ike
 
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvens
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvensDrupal Performance - Dicas e técnicas para levar seu Drupal às nuvens
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvensPaulino Michelazzo
 
Core Web Vitals - Técnicas de Performance Web pra Javascript
Core Web Vitals - Técnicas de Performance Web pra Javascript Core Web Vitals - Técnicas de Performance Web pra Javascript
Core Web Vitals - Técnicas de Performance Web pra Javascript CamiloMicheletto1
 
Performance - Acelere seu site! Na web tempo é mais que dinheiro.
Performance - Acelere seu site! Na web tempo é mais que dinheiro.Performance - Acelere seu site! Na web tempo é mais que dinheiro.
Performance - Acelere seu site! Na web tempo é mais que dinheiro.Gustavo Corrêa Alves
 
Need for (web) speed - Tchelinux Pelotas 2014
Need for (web) speed - Tchelinux Pelotas 2014Need for (web) speed - Tchelinux Pelotas 2014
Need for (web) speed - Tchelinux Pelotas 2014Jerônimo Medina Madruga
 
Melhorando o desempenho do seu WordPress
Melhorando o desempenho do seu WordPressMelhorando o desempenho do seu WordPress
Melhorando o desempenho do seu WordPressJulian Fernandes
 
Otimização de Websites para Ganho de Performance & Resiliência
Otimização de Websites para Ganho de Performance & ResiliênciaOtimização de Websites para Ganho de Performance & Resiliência
Otimização de Websites para Ganho de Performance & ResiliênciaSucuri
 
PHP Papa-Léguas: Performance em PHP
PHP Papa-Léguas: Performance em PHPPHP Papa-Léguas: Performance em PHP
PHP Papa-Léguas: Performance em PHPFlávio Lisboa
 
JS Experience 2017 - Otimizando o front end
JS Experience 2017 - Otimizando o front endJS Experience 2017 - Otimizando o front end
JS Experience 2017 - Otimizando o front endiMasters
 
Performance Codificando Night Week 2016
Performance Codificando Night Week 2016Performance Codificando Night Week 2016
Performance Codificando Night Week 2016Rodolfo Fadino Junior
 
Dicas para otimizar o WordPress por Felipe Figueiredo
Dicas para otimizar o WordPress por Felipe FigueiredoDicas para otimizar o WordPress por Felipe Figueiredo
Dicas para otimizar o WordPress por Felipe FigueiredoWordCamp Floripa
 
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]Tiago Hillebrandt
 
Otimização Front-end para WordPress
Otimização Front-end para WordPressOtimização Front-end para WordPress
Otimização Front-end para WordPressGuga Alves
 
Containers PostgreSQL com a Crunchy Container Suite
Containers PostgreSQL com a Crunchy Container SuiteContainers PostgreSQL com a Crunchy Container Suite
Containers PostgreSQL com a Crunchy Container SuiteRoberto Mello
 
Otimização de Performance Web
Otimização de Performance WebOtimização de Performance Web
Otimização de Performance WebPaolo Almeida
 
Otimize sua web page e web components
Otimize sua web page e web componentsOtimize sua web page e web components
Otimize sua web page e web componentsAndré Betiolo
 
Joomla Day Brasil 2010: Customizações para grandes portais
Joomla Day Brasil 2010: Customizações para grandes portaisJoomla Day Brasil 2010: Customizações para grandes portais
Joomla Day Brasil 2010: Customizações para grandes portaisrafaelberlanda
 

Semelhante a Otimização front end (20)

Navegadores por de baixo dos panos - Ana Luiza Bastos
Navegadores por de baixo dos panos - Ana Luiza BastosNavegadores por de baixo dos panos - Ana Luiza Bastos
Navegadores por de baixo dos panos - Ana Luiza Bastos
 
Um milhao de usuários simultâneos
Um milhao de usuários simultâneosUm milhao de usuários simultâneos
Um milhao de usuários simultâneos
 
Performance Web com ASP.NET MVC
Performance Web com ASP.NET MVCPerformance Web com ASP.NET MVC
Performance Web com ASP.NET MVC
 
Web Performance Client Side
Web Performance Client SideWeb Performance Client Side
Web Performance Client Side
 
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvens
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvensDrupal Performance - Dicas e técnicas para levar seu Drupal às nuvens
Drupal Performance - Dicas e técnicas para levar seu Drupal às nuvens
 
Core Web Vitals - Técnicas de Performance Web pra Javascript
Core Web Vitals - Técnicas de Performance Web pra Javascript Core Web Vitals - Técnicas de Performance Web pra Javascript
Core Web Vitals - Técnicas de Performance Web pra Javascript
 
Performance - Acelere seu site! Na web tempo é mais que dinheiro.
Performance - Acelere seu site! Na web tempo é mais que dinheiro.Performance - Acelere seu site! Na web tempo é mais que dinheiro.
Performance - Acelere seu site! Na web tempo é mais que dinheiro.
 
Need for (web) speed - Tchelinux Pelotas 2014
Need for (web) speed - Tchelinux Pelotas 2014Need for (web) speed - Tchelinux Pelotas 2014
Need for (web) speed - Tchelinux Pelotas 2014
 
Melhorando o desempenho do seu WordPress
Melhorando o desempenho do seu WordPressMelhorando o desempenho do seu WordPress
Melhorando o desempenho do seu WordPress
 
Otimização de Websites para Ganho de Performance & Resiliência
Otimização de Websites para Ganho de Performance & ResiliênciaOtimização de Websites para Ganho de Performance & Resiliência
Otimização de Websites para Ganho de Performance & Resiliência
 
PHP Papa-Léguas: Performance em PHP
PHP Papa-Léguas: Performance em PHPPHP Papa-Léguas: Performance em PHP
PHP Papa-Léguas: Performance em PHP
 
JS Experience 2017 - Otimizando o front end
JS Experience 2017 - Otimizando o front endJS Experience 2017 - Otimizando o front end
JS Experience 2017 - Otimizando o front end
 
Performance Codificando Night Week 2016
Performance Codificando Night Week 2016Performance Codificando Night Week 2016
Performance Codificando Night Week 2016
 
Dicas para otimizar o WordPress por Felipe Figueiredo
Dicas para otimizar o WordPress por Felipe FigueiredoDicas para otimizar o WordPress por Felipe Figueiredo
Dicas para otimizar o WordPress por Felipe Figueiredo
 
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
Melhorando o desempenho do seu WordPress [WordCamp São Paulo 2015]
 
Otimização Front-end para WordPress
Otimização Front-end para WordPressOtimização Front-end para WordPress
Otimização Front-end para WordPress
 
Containers PostgreSQL com a Crunchy Container Suite
Containers PostgreSQL com a Crunchy Container SuiteContainers PostgreSQL com a Crunchy Container Suite
Containers PostgreSQL com a Crunchy Container Suite
 
Otimização de Performance Web
Otimização de Performance WebOtimização de Performance Web
Otimização de Performance Web
 
Otimize sua web page e web components
Otimize sua web page e web componentsOtimize sua web page e web components
Otimize sua web page e web components
 
Joomla Day Brasil 2010: Customizações para grandes portais
Joomla Day Brasil 2010: Customizações para grandes portaisJoomla Day Brasil 2010: Customizações para grandes portais
Joomla Day Brasil 2010: Customizações para grandes portais
 

Otimização front end