Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Caelum
PDF, PPTX
2,043 views
Performance na web: o modelo RAIL e outras novidades
Palestra do Sérgio Lopes no QCon SP 2016
Technology
◦
Read more
9
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 58
2
/ 58
3
/ 58
4
/ 58
5
/ 58
6
/ 58
7
/ 58
8
/ 58
9
/ 58
10
/ 58
11
/ 58
12
/ 58
13
/ 58
14
/ 58
15
/ 58
16
/ 58
17
/ 58
18
/ 58
19
/ 58
20
/ 58
21
/ 58
22
/ 58
23
/ 58
24
/ 58
25
/ 58
26
/ 58
27
/ 58
28
/ 58
29
/ 58
30
/ 58
31
/ 58
32
/ 58
33
/ 58
34
/ 58
35
/ 58
36
/ 58
37
/ 58
38
/ 58
39
/ 58
40
/ 58
41
/ 58
42
/ 58
43
/ 58
44
/ 58
45
/ 58
46
/ 58
47
/ 58
48
/ 58
49
/ 58
50
/ 58
51
/ 58
52
/ 58
53
/ 58
54
/ 58
55
/ 58
56
/ 58
57
/ 58
58
/ 58
More Related Content
DOCX
Nueva pagina web
by
Sebastian Leon
PDF
Práctica dennis hidalgo
by
Dennis Hidalgo
DOC
Videos
by
gueste1da30f
PPT
Otimizando o time to market - do zero a produção em poucas iterações
by
Caelum
PDF
Os Caminhos de uma Estratégia Mobile
by
Caelum
PDF
All you need to know about JavaScript loading and execution in the browser - ...
by
Caelum
PDF
Performance Web além do carregamento
by
Caelum
PDF
Otimizações de Performance Web: Desafios do Mundo Mobile
by
Caelum
Nueva pagina web
by
Sebastian Leon
Práctica dennis hidalgo
by
Dennis Hidalgo
Videos
by
gueste1da30f
Otimizando o time to market - do zero a produção em poucas iterações
by
Caelum
Os Caminhos de uma Estratégia Mobile
by
Caelum
All you need to know about JavaScript loading and execution in the browser - ...
by
Caelum
Performance Web além do carregamento
by
Caelum
Otimizações de Performance Web: Desafios do Mundo Mobile
by
Caelum
More from Caelum
PDF
Desafios de Performance Web - BrazilJS
by
Caelum
PDF
Progressive Web Apps: o melhor da Web appficada
by
Caelum
PDF
Tudo que você precisa saber sobre picture e srcset
by
Caelum
PDF
Como o HTTP/2 vai mudar sua vida
by
Caelum
PPTX
Métricas e a automatização do controle de qualidade
by
Caelum
PDF
HTTP/2, SPDY e Otimizações Web - Front In Maceió 2014 - Sérgio Lopes
by
Caelum
PDF
Offline Web com Service Workers - Sérgio Lopes
by
Caelum
PDF
Design Responsivo - MobCamp 2014
by
Caelum
PDF
Além do responsive design: a mudança de paradigma do design adaptativo e os m...
by
Caelum
PPT
Por trás dos frameworks e além do reflection
by
Caelum
PPT
Introducao a inteligencia artificial na educacao
by
Caelum
PDF
Wsrest 2013
by
Caelum
PDF
Design Responsivo por uma Web única
by
Caelum
PDF
Porque você deveria usar CDI nos seus projetos Java! - JavaOne LA 2012 - Sérg...
by
Caelum
PDF
[FrontInBH 2012] Por uma web mais rápida: técnicas de otimizações de sites - ...
by
Caelum
KEY
Plataforma java: detalhes da JVM
by
Caelum
KEY
CDI e as ideias pro futuro do VRaptor
by
Caelum
KEY
Qualidade de código - a qualidade que faz a diferença
by
Caelum
KEY
Design de código: qualidade que faz a diferença, qcon 2011
by
Caelum
PDF
[QCon 2011] Por uma web mais rápida: técnicas de otimização de Sites
by
Caelum
Desafios de Performance Web - BrazilJS
by
Caelum
Progressive Web Apps: o melhor da Web appficada
by
Caelum
Tudo que você precisa saber sobre picture e srcset
by
Caelum
Como o HTTP/2 vai mudar sua vida
by
Caelum
Métricas e a automatização do controle de qualidade
by
Caelum
HTTP/2, SPDY e Otimizações Web - Front In Maceió 2014 - Sérgio Lopes
by
Caelum
Offline Web com Service Workers - Sérgio Lopes
by
Caelum
Design Responsivo - MobCamp 2014
by
Caelum
Além do responsive design: a mudança de paradigma do design adaptativo e os m...
by
Caelum
Por trás dos frameworks e além do reflection
by
Caelum
Introducao a inteligencia artificial na educacao
by
Caelum
Wsrest 2013
by
Caelum
Design Responsivo por uma Web única
by
Caelum
Porque você deveria usar CDI nos seus projetos Java! - JavaOne LA 2012 - Sérg...
by
Caelum
[FrontInBH 2012] Por uma web mais rápida: técnicas de otimizações de sites - ...
by
Caelum
Plataforma java: detalhes da JVM
by
Caelum
CDI e as ideias pro futuro do VRaptor
by
Caelum
Qualidade de código - a qualidade que faz a diferença
by
Caelum
Design de código: qualidade que faz a diferença, qcon 2011
by
Caelum
[QCon 2011] Por uma web mais rápida: técnicas de otimização de Sites
by
Caelum
Performance na web: o modelo RAIL e outras novidades
1.
PERFORMANCE NA WEB O
MODELO RAIL E OUTRAS NOVIDADES
2.
@sergio_caelum sergiolopes.org
4.
OTIMIZAÇÕES WEB MINIFICAR CSS/JS COMPRIMIR
HTML GZIP CONCATENAR CSS/JS SPRITES CACHE / EXPIRES OTIMIZAR IMAGENS JS NO FIM DA PÁGINA CSS NO TOPO ASSÍNCRONO LAZY-LOAD CDN DIMINUIR COOKIES PARALELIZAR REQs
5.
PERFORMANCE?
6.
ONLOAD
7.
VÁRIAS PERFORMANCES CARREGAMENTO INTERAÇÃO ANIMAÇÃO MEMÓRIA BATERIA
8.
LIMITES DA PERCEPÇÃO
DE PERFORMANCE 100ms 1s 10s instantâneo mesma tarefa perde atenção
9.
RAIL
10.
Response Animation Idle Load
12.
LOAD 1s
18.
CRITICAL RENDERING PATH
21.
~600px ~9000px ABOVE THE FOLD (ATF)
22.
< 14 KB
(1 RTT) inline do CSS ATF inline do JS ATF flush ATF resto do CSS e JS tudo async
23.
< 14 KB
(1 RTT) inline do CSS ATF inline do JS ATF flush ATF resto do CSS e JS tudo async server push http/2
25.
ANIMATION 60FPS
26.
ANIMATION 16ms
31.
elem1.style.top = elemX.offsetTop
+ 10 + 'px'; elem2.style.top = elemY.offsetTop + 10 + 'px'; elem3.style.top = elemZ.offsetTop + 10 + 'px'; elem4.style.top = elemW.offsetTop + 10 + 'px';
32.
// reads var topX
= elemX.offsetTop; var topY = elemY.offsetTop; var topZ = elemZ.offsetTop; var topW = elemW.offsetTop; // writes elem1.style.top = topX + 10 + 'px'; elem2.style.top = topY + 10 + 'px'; elem3.style.top = topZ + 10 + 'px'; elem4.style.top = topW + 10 + 'px';
36.
.header-barraBusca { height: 100px; position:
absolute; top: -100px; } botaoBusca.onclick = function() { container.classList.toggle('buscaVisivel'); };
37.
.container { position: relative; } .container.buscaVisivel
{ top: 100px; }
38.
.container { position: relative; top:
0; transition: top 500ms; } .container.buscaVisivel { top: 100px; }
40.
.container { transition: transform
500ms; } .container.buscaVisivel { transform: translateY(100px); }
43.
.container { transition: transform
500ms; will-change: transform; } .container.buscaVisivel { transform: translateY(100px); } .container { transition: transform 500ms; transform: translateZ(0); } .container.buscaVisivel { transform: translateY(100px); }
46.
agrupar read /
write DOM (fastdom) animação com CSS animação GPU (transform / opacity)
47.
RESPONSE 100ms
48.
registre o input
em <100ms o máximo em background indique progresso se >500ms
49.
RESPONSE + ANIMATION
50.
IDLE 50ms
51.
quebre a tarefa setTimeout
/ setImmediate / requestAnimationFrame / requestIdleCallback coisas pesadas em background Web Workers
52.
// carrega videos
assincronamente var containers = document.querySelectorAll('.elasticMedia-container[data-src]' for (var i = 0; i < containers.length; i++) { var src = containers[i].getAttribute('data-src'); containers[i].innerHTML = '<iframe class="elasticMedia" src="' + src + '" f }
53.
setTimeout(function(){ // carrega videos
assincronamente var containers = document.querySelectorAll('.elasticMedia-container[data-src]' for (var i = 0; i < containers.length; i++) { var src = containers[i].getAttribute('data-src'); containers[i].innerHTML = '<iframe class="elasticMedia" src="' + src + '" f } }, 500);
54.
requestIdleCallback(function(){ // carrega videos
assincronamente var containers = document.querySelectorAll('.elasticMedia-container[data-src]' for (var i = 0; i < containers.length; i++) { var src = containers[i].getAttribute('data-src'); containers[i].innerHTML = '<iframe class="elasticMedia" src="' + src + '" f } });
55.
PERFORMANCE é UX
56.
IDLE 50ms ANIMATION 16ms LOAD
1s RESPONSE 100ms
57.
RAIL
58.
OBRIGADO! sergiolopes.org @sergio_caelum
Download