SlideShare une entreprise Scribd logo
1  sur  53
Télécharger pour lire hors ligne
Build Zero load time apps
João Moura 
CTO at Palpiteros 
github.com/joaomdmoura 
twitter.com/joaomdmoura 
speakerdeck.com/joaomdmoura
O que mudou? 
Tempo! A coisa mais valiosa 
do mundo!
O que mudou? 
Tempo! A coisa mais valiosa 
do mundo!
O que mudou? 
Tempo! A coisa mais valiosa 
do mundo!
Webapps timeline 
Action! Action! 
Load Time Load Time
74% dos usuários mobile 
não esperam mais que 5 segundos 
para uma página carregar. 
http://www.strangeloopnetworks.com/resources/infographics/mobile-infographics/mobile-load-time-vs-user- 
expectations/
8 
6.4 
4.8 
3.2 
1.6 
2000 2006 2009 2012 
http://www.webperformancetoday.com/2013/03/27/top-ecommerce-sites-are-slower-than-they-were-last- 
year/
Yahoo!: 400 ms 
5 to 9% increase in the number of people 
who clicked “back” before the page even loaded. 
(source: Nicole Sullivan, Yahoo!)
Google: 500 ms 
20% fewer searches. 
(source: Marrissa Mayer, Google)
Amazon: 100 ms 
1% increase in sales. 
(source: Greg Linden, Amazon)
Amazon: 100 ms 
1% increase in sales. 
(source: Greg Linden, Amazon) 
US$ 61.093.000.000,00 
(2012)
Sua Aplicação 
?
Old but Gold! 
Tempo continua sendo dinheiro! 
é mais que
Velocidade x Sucesso 
Velocidade é mais que 
uma feature
O que fazer? 
Como construir uma aplicação 
com zero loadtime?
Habilitar GZIP
Habilitar GZIP Minify de JS e CSS
Habilitar GZIP Minify de JS e CSS Compressão de HTML
Habilitar GZIP Minify de JS e CSS Compressão de HTML 
Otimização de imagens
Habilitar GZIP Minify de JS e CSS Compressão de HTML 
Otimização de imagensDiminuir cookies e headers
Habilitar GZIP Minify de JS e CSS Compressão de HTML 
Otimização de imagensDiminuir cookies e headersUtilização de sprites
Overweight! 
Problema 1 
Grande número de assets 
e grandes assets.
Rede! 
Problema 2 
Diferentes conexões, velocidades 
e sinais
E agora? 
E se velocidade não for o segredo?
Perceived Speed! 
O usuário não se importa com o 
que acontece em backstage
Render in client 
Técnica 1 
Se você consegue bater 50 ms 
de loadtime sem render in client 
você tem minha atenção
Old Browsers 
Não suportam novas libs JS
Old Browsers 
Não suportam novas libs JS
Store data in client 
Técnica 2 
Capacidade de resposta, Acessibilidade 
e os Tempos de Carregamento reduzido
Database Cookies
Database Cookies X X
Local Storage 
FTW!
Intelligent Preload 
Técnica 3 
Como predizer a navegação do usuário 
melhora a experiência e pode lhe poupar 
Recursos
1.000.000.000
1.000.000.000
Make it asynchrony 
Técnica 4 
Separe suas interações com o servidor 
da sua interface
Elevator test 
Se vira nos 30!
Enriquecer a 
experiência do futebol!
Keep it lean!
Estamos contratando 
jmoura@palpiteros.com
RubySource
github.com/joaomdmoura/gioco
Thank you! 
João Moura 
CTO at Palpiteros 
github.com/joaomdmoura 
twitter.com/joaomdmoura 
speakerdeck.com/joaomdmoura

Contenu connexe

Tendances

Mantendo os dados do seu app web offline com PouchDB
Mantendo os dados do seu app web offline com PouchDBMantendo os dados do seu app web offline com PouchDB
Mantendo os dados do seu app web offline com PouchDBSidney Roberto
 
Torne seu Site Mais Veloz! I GDG Women Sorocaba
Torne seu Site Mais Veloz! I GDG Women SorocabaTorne seu Site Mais Veloz! I GDG Women Sorocaba
Torne seu Site Mais Veloz! I GDG Women SorocabaNatascha Hun
 
Performance Front-end
Performance Front-endPerformance Front-end
Performance Front-endDescomplica
 
Html5,css3,javascript o lugar onde sonhos se tornam realidade.
Html5,css3,javascript   o lugar onde sonhos se tornam realidade.Html5,css3,javascript   o lugar onde sonhos se tornam realidade.
Html5,css3,javascript o lugar onde sonhos se tornam realidade.Edmo Jeova
 
SASS + COMPASS - Alta Produtividade no Front-end
SASS + COMPASS - Alta Produtividade no Front-endSASS + COMPASS - Alta Produtividade no Front-end
SASS + COMPASS - Alta Produtividade no Front-endAnderson Aguiar
 

Tendances (8)

Mantendo os dados do seu app web offline com PouchDB
Mantendo os dados do seu app web offline com PouchDBMantendo os dados do seu app web offline com PouchDB
Mantendo os dados do seu app web offline com PouchDB
 
temp EWP
temp EWPtemp EWP
temp EWP
 
Torne seu Site Mais Veloz! I GDG Women Sorocaba
Torne seu Site Mais Veloz! I GDG Women SorocabaTorne seu Site Mais Veloz! I GDG Women Sorocaba
Torne seu Site Mais Veloz! I GDG Women Sorocaba
 
XPT Framework
XPT FrameworkXPT Framework
XPT Framework
 
Seo e HTML5
Seo e HTML5Seo e HTML5
Seo e HTML5
 
Performance Front-end
Performance Front-endPerformance Front-end
Performance Front-end
 
Html5,css3,javascript o lugar onde sonhos se tornam realidade.
Html5,css3,javascript   o lugar onde sonhos se tornam realidade.Html5,css3,javascript   o lugar onde sonhos se tornam realidade.
Html5,css3,javascript o lugar onde sonhos se tornam realidade.
 
SASS + COMPASS - Alta Produtividade no Front-end
SASS + COMPASS - Alta Produtividade no Front-endSASS + COMPASS - Alta Produtividade no Front-end
SASS + COMPASS - Alta Produtividade no Front-end
 

Similaire à Build Zero load apps in under 40 chars

Performance em SEO - técnicas para aumentar a conversão
Performance em SEO - técnicas para aumentar a conversãoPerformance em SEO - técnicas para aumentar a conversão
Performance em SEO - técnicas para aumentar a conversãoE-Commerce Brasil
 
Visão Geral De Desenvolvimento Web Sre 2012
Visão Geral De Desenvolvimento Web   Sre 2012Visão Geral De Desenvolvimento Web   Sre 2012
Visão Geral De Desenvolvimento Web Sre 2012Carlos Casalicchio
 
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
 
Darkmira - Performance em aplicações PHP
Darkmira - Performance em aplicações PHPDarkmira - Performance em aplicações PHP
Darkmira - Performance em aplicações PHPCiro Vargas
 
Web Semântica - Pessoas e Máquinas pensando juntas - Campus Party SP
Web Semântica - Pessoas e Máquinas pensando juntas - Campus Party SPWeb Semântica - Pessoas e Máquinas pensando juntas - Campus Party SP
Web Semântica - Pessoas e Máquinas pensando juntas - Campus Party SPRenato Bongiorno Bonfanti
 
Ux for Developers - Build Better Products
Ux for Developers - Build Better ProductsUx for Developers - Build Better Products
Ux for Developers - Build Better ProductsPedro Marques
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sitesthiagolima
 
Planejamento de Capacidade Técnicas e Ferramentas
Planejamento de Capacidade Técnicas e FerramentasPlanejamento de Capacidade Técnicas e Ferramentas
Planejamento de Capacidade Técnicas e Ferramentasluanrjesus
 
Armadilhas no Desenvolvimento de Software
Armadilhas no Desenvolvimento de SoftwareArmadilhas no Desenvolvimento de Software
Armadilhas no Desenvolvimento de Softwarejamersonlima
 
O que você faz para ser Mobile? TDC2013
O que você faz para ser Mobile? TDC2013O que você faz para ser Mobile? TDC2013
O que você faz para ser Mobile? TDC2013Jackson F. de A. Mafra
 
Práticas para um Site Otimizado - CaelumDay in Rio 2011
Práticas para um Site Otimizado - CaelumDay in Rio 2011Práticas para um Site Otimizado - CaelumDay in Rio 2011
Práticas para um Site Otimizado - CaelumDay in Rio 2011Caelum
 
Apresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvemApresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvemRodrigo Valerio
 
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
 
Pangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud PlatformPangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud PlatformAndré Paulovich
 
Mobile: o que já está acontecendo e o que é futuro?
Mobile: o que já está acontecendo e o que é futuro?Mobile: o que já está acontecendo e o que é futuro?
Mobile: o que já está acontecendo e o que é futuro?meet2Brains
 
Mobile Web: Aqui e Agora
Mobile Web: Aqui e AgoraMobile Web: Aqui e Agora
Mobile Web: Aqui e AgoraSaulo Pratti
 
O Que é Software Livre E Por Que Isso é Importante Para Você
O Que é Software Livre E Por Que Isso é Importante Para VocêO Que é Software Livre E Por Que Isso é Importante Para Você
O Que é Software Livre E Por Que Isso é Importante Para VocêJurmir Canal Neto
 
Palestra html5 e CSS3
Palestra html5 e CSS3Palestra html5 e CSS3
Palestra html5 e CSS3CELULA CURSOS
 

Similaire à Build Zero load apps in under 40 chars (20)

intercon2006
intercon2006intercon2006
intercon2006
 
Performance em SEO - técnicas para aumentar a conversão
Performance em SEO - técnicas para aumentar a conversãoPerformance em SEO - técnicas para aumentar a conversão
Performance em SEO - técnicas para aumentar a conversão
 
Visão Geral De Desenvolvimento Web Sre 2012
Visão Geral De Desenvolvimento Web   Sre 2012Visão Geral De Desenvolvimento Web   Sre 2012
Visão Geral De Desenvolvimento Web Sre 2012
 
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
 
Darkmira - Performance em aplicações PHP
Darkmira - Performance em aplicações PHPDarkmira - Performance em aplicações PHP
Darkmira - Performance em aplicações PHP
 
Web Semântica - Pessoas e Máquinas pensando juntas - Campus Party SP
Web Semântica - Pessoas e Máquinas pensando juntas - Campus Party SPWeb Semântica - Pessoas e Máquinas pensando juntas - Campus Party SP
Web Semântica - Pessoas e Máquinas pensando juntas - Campus Party SP
 
Ux for Developers - Build Better Products
Ux for Developers - Build Better ProductsUx for Developers - Build Better Products
Ux for Developers - Build Better Products
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sites
 
Planejamento de Capacidade Técnicas e Ferramentas
Planejamento de Capacidade Técnicas e FerramentasPlanejamento de Capacidade Técnicas e Ferramentas
Planejamento de Capacidade Técnicas e Ferramentas
 
Armadilhas no Desenvolvimento de Software
Armadilhas no Desenvolvimento de SoftwareArmadilhas no Desenvolvimento de Software
Armadilhas no Desenvolvimento de Software
 
O que você faz para ser Mobile? TDC2013
O que você faz para ser Mobile? TDC2013O que você faz para ser Mobile? TDC2013
O que você faz para ser Mobile? TDC2013
 
Joomla! for dummies - HackThursday CW 36
Joomla! for dummies - HackThursday CW 36Joomla! for dummies - HackThursday CW 36
Joomla! for dummies - HackThursday CW 36
 
Práticas para um Site Otimizado - CaelumDay in Rio 2011
Práticas para um Site Otimizado - CaelumDay in Rio 2011Práticas para um Site Otimizado - CaelumDay in Rio 2011
Práticas para um Site Otimizado - CaelumDay in Rio 2011
 
Apresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvemApresentação CEJS - Do nada para a nuvem
Apresentação CEJS - Do nada para a nuvem
 
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.
 
Pangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud PlatformPangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud Platform
 
Mobile: o que já está acontecendo e o que é futuro?
Mobile: o que já está acontecendo e o que é futuro?Mobile: o que já está acontecendo e o que é futuro?
Mobile: o que já está acontecendo e o que é futuro?
 
Mobile Web: Aqui e Agora
Mobile Web: Aqui e AgoraMobile Web: Aqui e Agora
Mobile Web: Aqui e Agora
 
O Que é Software Livre E Por Que Isso é Importante Para Você
O Que é Software Livre E Por Que Isso é Importante Para VocêO Que é Software Livre E Por Que Isso é Importante Para Você
O Que é Software Livre E Por Que Isso é Importante Para Você
 
Palestra html5 e CSS3
Palestra html5 e CSS3Palestra html5 e CSS3
Palestra html5 e CSS3
 

Plus de João Moura

AMS, API, RAILS and a developer, a Love Story
AMS, API, RAILS and a developer, a Love StoryAMS, API, RAILS and a developer, a Love Story
AMS, API, RAILS and a developer, a Love StoryJoão Moura
 
Gamification - Uma nova Fronteira
Gamification - Uma nova FronteiraGamification - Uma nova Fronteira
Gamification - Uma nova FronteiraJoão Moura
 
Stress Test as a Culture
Stress Test as a CultureStress Test as a Culture
Stress Test as a CultureJoão Moura
 
Desenvolvendo Produtos, Não Aplicativos
Desenvolvendo Produtos, Não AplicativosDesenvolvendo Produtos, Não Aplicativos
Desenvolvendo Produtos, Não AplicativosJoão Moura
 
Rankings, you're doing it wrong
Rankings, you're doing it wrongRankings, you're doing it wrong
Rankings, you're doing it wrongJoão Moura
 
Rankings, você esta fazendo isso errado
Rankings, você esta fazendo isso erradoRankings, você esta fazendo isso errado
Rankings, você esta fazendo isso erradoJoão Moura
 
The Hard Task of Develop Products
The Hard Task of Develop ProductsThe Hard Task of Develop Products
The Hard Task of Develop ProductsJoão Moura
 
Building Products, not Apps
Building Products, not AppsBuilding Products, not Apps
Building Products, not AppsJoão Moura
 
Network Architecture Based on Gaming
Network Architecture Based on GamingNetwork Architecture Based on Gaming
Network Architecture Based on GamingJoão Moura
 
Gamification Theory and Gioco
Gamification Theory and GiocoGamification Theory and Gioco
Gamification Theory and GiocoJoão Moura
 
Socket applications
Socket applicationsSocket applications
Socket applicationsJoão Moura
 
WebSocket com Node.js ( socketstream && coffeescript ) X RoR ( Juggernaut )
WebSocket com Node.js ( socketstream && coffeescript ) X RoR ( Juggernaut )WebSocket com Node.js ( socketstream && coffeescript ) X RoR ( Juggernaut )
WebSocket com Node.js ( socketstream && coffeescript ) X RoR ( Juggernaut )João Moura
 

Plus de João Moura (12)

AMS, API, RAILS and a developer, a Love Story
AMS, API, RAILS and a developer, a Love StoryAMS, API, RAILS and a developer, a Love Story
AMS, API, RAILS and a developer, a Love Story
 
Gamification - Uma nova Fronteira
Gamification - Uma nova FronteiraGamification - Uma nova Fronteira
Gamification - Uma nova Fronteira
 
Stress Test as a Culture
Stress Test as a CultureStress Test as a Culture
Stress Test as a Culture
 
Desenvolvendo Produtos, Não Aplicativos
Desenvolvendo Produtos, Não AplicativosDesenvolvendo Produtos, Não Aplicativos
Desenvolvendo Produtos, Não Aplicativos
 
Rankings, you're doing it wrong
Rankings, you're doing it wrongRankings, you're doing it wrong
Rankings, you're doing it wrong
 
Rankings, você esta fazendo isso errado
Rankings, você esta fazendo isso erradoRankings, você esta fazendo isso errado
Rankings, você esta fazendo isso errado
 
The Hard Task of Develop Products
The Hard Task of Develop ProductsThe Hard Task of Develop Products
The Hard Task of Develop Products
 
Building Products, not Apps
Building Products, not AppsBuilding Products, not Apps
Building Products, not Apps
 
Network Architecture Based on Gaming
Network Architecture Based on GamingNetwork Architecture Based on Gaming
Network Architecture Based on Gaming
 
Gamification Theory and Gioco
Gamification Theory and GiocoGamification Theory and Gioco
Gamification Theory and Gioco
 
Socket applications
Socket applicationsSocket applications
Socket applications
 
WebSocket com Node.js ( socketstream && coffeescript ) X RoR ( Juggernaut )
WebSocket com Node.js ( socketstream && coffeescript ) X RoR ( Juggernaut )WebSocket com Node.js ( socketstream && coffeescript ) X RoR ( Juggernaut )
WebSocket com Node.js ( socketstream && coffeescript ) X RoR ( Juggernaut )
 

Build Zero load apps in under 40 chars