SlideShare a Scribd company logo
1 of 56
Download to read offline
Hi. I am
@pedropolisenso
QUALIDADE EM DESENVOLVIMENTO!
VAMOS AS DICAS!
- USE CSS INLINE OU INCORPORADO EM CASOS ESPECÍFICOS
CSS INLINE
<div id=”exemplo” style=”background-color: #fc0;”>
CSS INCORPORADO
<style> background-color: #fc0; </style>
- PREFIRA <link> PARA IMPORTAR SEU CSS
LINK
<link rel=”stylesheet” type=”text/css” href=”style.css”>
- SEMPRE USE CSS AO TOPO DA PÁGINA
<head>
<link rel=”stylesheet” type=”text/css” href=”style.css”>
</head>
- IMPORTE SEUS SCRIPTS AO FINAL DA PÁGINA
<script type=”texte/javascript” src=”script.js”></script>
</body>
</html>
- EVITE IMPORTAR ARQUIVOS EXTERNOS
CSS
<link rel=”stylesheet” type=”text/css” href=”http://s.glbimg.
com/en/ho/static/CACHE/css/139363ed6ee9.css”>
JAVASCRIPT
<script type=”texte/javascript” src=”http://s.glbimg.
com/en/ho/static/CACHE/js/96d91591782a.js”></script>
- COMENTE SEMPRE QUE POSSÍVEL - ORGANIZAÇÃO
/* estilo da aplicação */
* { margin: 0; padding: 0; border: 0; }
/* header do projeto */
header { width: ; height: ; background: ; }
- MODULARIZE SEMPRE QUE POSSÍVEL - ORGANIZAÇÃO
AMBIENTE DE DESENVOLVIMENTO
- style.sass
- responsive.sass
- style.css
- responsive.css
- style.main.css @import url(‘style.css’) @import url(‘responsive.css’)
AMBIENTE DE PRODUÇÃO
- style.min.css
- USE E EXPLORE PRÉ-PROCESSADORES - ORGANIZAÇÃO
EVITE @import EM ARQUIVOS DE
PRODUÇÃO, PREFIRA A TAG <link>
ERRO: O browser não faz download do
arquivo e atrasa o carregamento em
cascata da aplicação!
- MINIFIQUE SEUS ARQUIVOS CSS
* CSSMIN *OPTION: { STYLE: “COMPRESSED” }
- USE CSSLINT
* Garanta a semântica correta
- PS: Use Task Runner para facilitar
- USE CSS SPRITES E EVITE REQUISIÇÕES DESNECESSÁRIAS
- PREFIRA SVG DO QUE JPG, PNG, JPEG
- OTIMIZE SUA IMAGEM COM UMA FERRAMENTAS - IMAGEMIN
- USE O ATRIBUTO ALT=”” - OTIMIZAÇÃO
/* notícia sidebar */
<img src=”img/imagem.jpg” alt=”Dilma aumenta salário”>
- EVITE CARREGAR IMAGENS EXTERNAS NA SUA APLICAÇÃO
/* meu personagem */
<img src=”http://demosthenes.info/assets/images/thumbnails/homer-simp
son.svg” alt=”personagem meu site”>
NUNCA USE!
NUNCA USE?
CALMA, NÃO É POR AÍ
DE REPENTE...
- jQuery somente para request
- Selecionar elementos do DOM
-
- MODULARIZE SEMPRE QUE POSSÍVEL - ORGANIZAÇÃO
AMBIENTE DE DESENVOLVIMENTO
- script.js
- validacao.js
- mask.js
AMBIENTE DE PRODUÇÃO
- script.min.js
Diminua o número de
requests!
CONSIDERE EM JAVASCRIPT
- MINIFICAR ARQUIVOS DE PRODUÇÃO
- USE JSHINT PARA VALIDAÇÃO SINTAXE
- CONCATENE ARQUIVOS DE DESENVOLVIMENTO
PS: USE TASKS RUNNERS PARA ISSO!
- EVITE RELER VETORES DENTRO DE LOOP’s
// Evite isto
for(var i = 0; i < objeto.length; i++){
console.log(‘acho que fiz besteira!’);
}
// Prefira
var vetor = objeto.length;
for(var i = 0; i < vetor; i++){
console.log(‘fiz melhor!’);
}
- EVITE MANIPULAÇÕES DESNECESSÁRIAS
// Evite isto
for(var i = 0; i < 500; i++){
document.getElementById(‘MinhaLista’).innerHTML += ‘<span>’+ i
+’</span>’;
}
// Prefira
var MinhaLista = ‘ ’;
for(var i = 0; i < 500; i++){
MinhaLista += ‘<span>’+ i +’</span>’;
}
document.getElementById(‘MinhaLista’).innerHTML += MinhaLista;
MAS É MUITA COISA
VAMOS AUTOMATIZAR?
CONSIDERE FERRAMENTAS PARA AUTOMATIZAR TUDO!
OS 10 MANDAMENTOS DE PERFORMANCE FRONT-END!
- 4 BEM AVENTURADO OS QUE MINIFICAM SEUS ARQUIVOS
- 1 USAR SVG E NÃO JPG SOBRE TODAS AS COISAS
- 3 USE UM PADRÃO PARA TODO SEMPRE
- 2 SEJA SOLUCIONADOR DE PROBLEMAS
- 5 PREOCUPE-SE COM A OTIMIZAÇÃO DA APLICAÇÃO
- 6 PARE, PENSE E SAIBA PROJETAR
- 7 IGNORE O IE
- 9 AUTOMATIZE A APLICAÇÃO
- 8 USE PATTERNS EM JAVASCRIPT SEMPRE QUE POSSÍVEL
- 10 NÃO ACOMODE-SE, ESTUDE!
PageSpeed - Google
Yslow - Yahoo
Web Page Test
Browser Diet
LINKS USADOS COMO REFERÊNCIA
=> ARTIGOS
- http://blog.caelum.com.br/por-uma-web-mais-rapida-26-tecnicas-de-otimizacao-de-sites/
- http://www.uolhost.com.br/blog/top-10-formas-de-melhorar-a-performance-de-um-website#rmcl
- http://youmightnotneedjquery.com/
- https://irlabr.wordpress.com/apostila-de-ihc/parte-1-ihc-na-pratica/6-usabilidade-e-suas-metas/
- https://www.youtube.com/watch?v=OnCHjU_eAkE
- http://loopinfinito.com.br/2013/09/24/throttle-e-debounce-patterns-em-javascript/
=> AWESOMES
- https://github.com/davidsonfellipe/awesome-wpo
- https://github.com/willianjusten/awesome-svg
Obrigado!
email: pedropolisenso@gmail.com
Redes: @pedropolisenso

More Related Content

What's hot

Migrations for Java (Javou #4 - JavaCE)
Migrations for Java (Javou #4 - JavaCE)Migrations for Java (Javou #4 - JavaCE)
Migrations for Java (Javou #4 - JavaCE)Rafael Ponte
 
Otimizacao Front-End para WordPress - OlhoSEO 2013
Otimizacao Front-End para WordPress - OlhoSEO 2013Otimizacao Front-End para WordPress - OlhoSEO 2013
Otimizacao Front-End para WordPress - OlhoSEO 2013Guga Alves
 
performance em jQuery apps
performance em jQuery appsperformance em jQuery apps
performance em jQuery appsDavidson Fellipe
 
O Poderoso AngularJS
O Poderoso AngularJSO Poderoso AngularJS
O Poderoso AngularJSBeto Muniz
 
Introdução ao framework CakePHP
Introdução ao framework CakePHPIntrodução ao framework CakePHP
Introdução ao framework CakePHPigorpimentel
 
Desafios de um desenvolvedor JSF
Desafios de um desenvolvedor JSFDesafios de um desenvolvedor JSF
Desafios de um desenvolvedor JSFRafael Ponte
 
Workshop Sobre Software Livre da FAETEC / CETEP Três Rios
Workshop Sobre Software Livre da FAETEC / CETEP Três Rios Workshop Sobre Software Livre da FAETEC / CETEP Três Rios
Workshop Sobre Software Livre da FAETEC / CETEP Três Rios Paulo Roberto
 
Workshop Node.js + MongoDB + Mongoose
Workshop Node.js + MongoDB + MongooseWorkshop Node.js + MongoDB + Mongoose
Workshop Node.js + MongoDB + MongooseLuiz Duarte
 
Design Responsivo com Sass
Design Responsivo com SassDesign Responsivo com Sass
Design Responsivo com SassVitor Garcia
 
Introdução ao AngularJS
Introdução ao AngularJSIntrodução ao AngularJS
Introdução ao AngularJSRodrigo Branas
 

What's hot (11)

Migrations for Java (Javou #4 - JavaCE)
Migrations for Java (Javou #4 - JavaCE)Migrations for Java (Javou #4 - JavaCE)
Migrations for Java (Javou #4 - JavaCE)
 
Otimizacao Front-End para WordPress - OlhoSEO 2013
Otimizacao Front-End para WordPress - OlhoSEO 2013Otimizacao Front-End para WordPress - OlhoSEO 2013
Otimizacao Front-End para WordPress - OlhoSEO 2013
 
performance em jQuery apps
performance em jQuery appsperformance em jQuery apps
performance em jQuery apps
 
O Poderoso AngularJS
O Poderoso AngularJSO Poderoso AngularJS
O Poderoso AngularJS
 
Introdução ao framework CakePHP
Introdução ao framework CakePHPIntrodução ao framework CakePHP
Introdução ao framework CakePHP
 
Desafios de um desenvolvedor JSF
Desafios de um desenvolvedor JSFDesafios de um desenvolvedor JSF
Desafios de um desenvolvedor JSF
 
Workshop Sobre Software Livre da FAETEC / CETEP Três Rios
Workshop Sobre Software Livre da FAETEC / CETEP Três Rios Workshop Sobre Software Livre da FAETEC / CETEP Três Rios
Workshop Sobre Software Livre da FAETEC / CETEP Três Rios
 
JQuery
JQueryJQuery
JQuery
 
Workshop Node.js + MongoDB + Mongoose
Workshop Node.js + MongoDB + MongooseWorkshop Node.js + MongoDB + Mongoose
Workshop Node.js + MongoDB + Mongoose
 
Design Responsivo com Sass
Design Responsivo com SassDesign Responsivo com Sass
Design Responsivo com Sass
 
Introdução ao AngularJS
Introdução ao AngularJSIntrodução ao AngularJS
Introdução ao AngularJS
 

Similar to o nome disso é performance

Speed up! Critical css to the rescue
Speed up! Critical css to the rescueSpeed up! Critical css to the rescue
Speed up! Critical css to the rescuemelidevelopers
 
don't repeat yourself front-ender
don't repeat yourself front-enderdon't repeat yourself front-ender
don't repeat yourself front-endertdc-globalcode
 
Otimizações de Performance Web: Desafios do Mundo Mobile
Otimizações de Performance Web: Desafios do Mundo MobileOtimizações de Performance Web: Desafios do Mundo Mobile
Otimizações de Performance Web: Desafios do Mundo MobileCaelum
 
Mini Curso - jQuery - FMU
Mini Curso - jQuery - FMUMini Curso - jQuery - FMU
Mini Curso - jQuery - FMUThiago Ericson
 
Tutorial visão automação de testes e casper js
Tutorial visão automação de testes e casper jsTutorial visão automação de testes e casper js
Tutorial visão automação de testes e casper js4ALL Tests
 
Tutorial - Visão sobre Automação de Testes com CasperJS
Tutorial - Visão sobre Automação de Testes com CasperJSTutorial - Visão sobre Automação de Testes com CasperJS
Tutorial - Visão sobre Automação de Testes com CasperJSFrederico Allan
 
Simplificando o Javascrip
Simplificando o JavascripSimplificando o Javascrip
Simplificando o JavascripMiquéias Amaro
 
Escrevendo códigos php seguros
Escrevendo códigos php segurosEscrevendo códigos php seguros
Escrevendo códigos php segurosDouglas V. Pasqua
 
Atualização da Palestra - Conheça o Sass, mehor amigo do seu CSS - Nayara Felix
Atualização da Palestra - Conheça o Sass, mehor amigo do seu CSS - Nayara Felix Atualização da Palestra - Conheça o Sass, mehor amigo do seu CSS - Nayara Felix
Atualização da Palestra - Conheça o Sass, mehor amigo do seu CSS - Nayara Felix Nayara Felix
 
Backbone.js nas trincheiras
Backbone.js nas trincheirasBackbone.js nas trincheiras
Backbone.js nas trincheirasLambda 3
 
Javascript no SAPO e libsapojs
Javascript no SAPO e libsapojsJavascript no SAPO e libsapojs
Javascript no SAPO e libsapojscodebits
 
iMasters Intercon Dev WordPress - Segurança em WordPress
iMasters Intercon Dev WordPress - Segurança em WordPressiMasters Intercon Dev WordPress - Segurança em WordPress
iMasters Intercon Dev WordPress - Segurança em WordPressErick Belluci Tedeschi
 

Similar to o nome disso é performance (20)

Speed up! Critical css to the rescue
Speed up! Critical css to the rescueSpeed up! Critical css to the rescue
Speed up! Critical css to the rescue
 
Html5 workshop
Html5 workshopHtml5 workshop
Html5 workshop
 
don't repeat yourself front-ender
don't repeat yourself front-enderdon't repeat yourself front-ender
don't repeat yourself front-ender
 
Javascript + jQuery
Javascript + jQueryJavascript + jQuery
Javascript + jQuery
 
Otimizações de Performance Web: Desafios do Mundo Mobile
Otimizações de Performance Web: Desafios do Mundo MobileOtimizações de Performance Web: Desafios do Mundo Mobile
Otimizações de Performance Web: Desafios do Mundo Mobile
 
Mini Curso - jQuery - FMU
Mini Curso - jQuery - FMUMini Curso - jQuery - FMU
Mini Curso - jQuery - FMU
 
Modular CSS - Projetando CSS para aplicativos
Modular CSS - Projetando CSS para aplicativosModular CSS - Projetando CSS para aplicativos
Modular CSS - Projetando CSS para aplicativos
 
Tutorial visão automação de testes e casper js
Tutorial visão automação de testes e casper jsTutorial visão automação de testes e casper js
Tutorial visão automação de testes e casper js
 
Tutorial - Visão sobre Automação de Testes com CasperJS
Tutorial - Visão sobre Automação de Testes com CasperJSTutorial - Visão sobre Automação de Testes com CasperJS
Tutorial - Visão sobre Automação de Testes com CasperJS
 
Simplificando o Javascrip
Simplificando o JavascripSimplificando o Javascrip
Simplificando o Javascrip
 
Arquitetura CSS
Arquitetura CSSArquitetura CSS
Arquitetura CSS
 
HTML + CSS
HTML + CSSHTML + CSS
HTML + CSS
 
Web Performance Client Side
Web Performance Client SideWeb Performance Client Side
Web Performance Client Side
 
Introdução ao JQuery e AJAX
Introdução ao JQuery e AJAXIntrodução ao JQuery e AJAX
Introdução ao JQuery e AJAX
 
Escrevendo códigos php seguros
Escrevendo códigos php segurosEscrevendo códigos php seguros
Escrevendo códigos php seguros
 
Atualização da Palestra - Conheça o Sass, mehor amigo do seu CSS - Nayara Felix
Atualização da Palestra - Conheça o Sass, mehor amigo do seu CSS - Nayara Felix Atualização da Palestra - Conheça o Sass, mehor amigo do seu CSS - Nayara Felix
Atualização da Palestra - Conheça o Sass, mehor amigo do seu CSS - Nayara Felix
 
Backbone.js nas trincheiras
Backbone.js nas trincheirasBackbone.js nas trincheiras
Backbone.js nas trincheiras
 
Javascript no SAPO e libsapojs
Javascript no SAPO e libsapojsJavascript no SAPO e libsapojs
Javascript no SAPO e libsapojs
 
iMasters Intercon Dev WordPress - Segurança em WordPress
iMasters Intercon Dev WordPress - Segurança em WordPressiMasters Intercon Dev WordPress - Segurança em WordPress
iMasters Intercon Dev WordPress - Segurança em WordPress
 
Html, css, js, ajax
Html, css, js, ajaxHtml, css, js, ajax
Html, css, js, ajax
 

o nome disso é performance

  • 1.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 18.
  • 19. - USE CSS INLINE OU INCORPORADO EM CASOS ESPECÍFICOS CSS INLINE <div id=”exemplo” style=”background-color: #fc0;”> CSS INCORPORADO <style> background-color: #fc0; </style>
  • 20. - PREFIRA <link> PARA IMPORTAR SEU CSS LINK <link rel=”stylesheet” type=”text/css” href=”style.css”>
  • 21. - SEMPRE USE CSS AO TOPO DA PÁGINA <head> <link rel=”stylesheet” type=”text/css” href=”style.css”> </head> - IMPORTE SEUS SCRIPTS AO FINAL DA PÁGINA <script type=”texte/javascript” src=”script.js”></script> </body> </html>
  • 22. - EVITE IMPORTAR ARQUIVOS EXTERNOS CSS <link rel=”stylesheet” type=”text/css” href=”http://s.glbimg. com/en/ho/static/CACHE/css/139363ed6ee9.css”> JAVASCRIPT <script type=”texte/javascript” src=”http://s.glbimg. com/en/ho/static/CACHE/js/96d91591782a.js”></script>
  • 23.
  • 24. - COMENTE SEMPRE QUE POSSÍVEL - ORGANIZAÇÃO /* estilo da aplicação */ * { margin: 0; padding: 0; border: 0; } /* header do projeto */ header { width: ; height: ; background: ; }
  • 25. - MODULARIZE SEMPRE QUE POSSÍVEL - ORGANIZAÇÃO AMBIENTE DE DESENVOLVIMENTO - style.sass - responsive.sass - style.css - responsive.css - style.main.css @import url(‘style.css’) @import url(‘responsive.css’) AMBIENTE DE PRODUÇÃO - style.min.css
  • 26. - USE E EXPLORE PRÉ-PROCESSADORES - ORGANIZAÇÃO
  • 27. EVITE @import EM ARQUIVOS DE PRODUÇÃO, PREFIRA A TAG <link> ERRO: O browser não faz download do arquivo e atrasa o carregamento em cascata da aplicação!
  • 28. - MINIFIQUE SEUS ARQUIVOS CSS * CSSMIN *OPTION: { STYLE: “COMPRESSED” } - USE CSSLINT * Garanta a semântica correta - PS: Use Task Runner para facilitar
  • 29.
  • 30. - USE CSS SPRITES E EVITE REQUISIÇÕES DESNECESSÁRIAS
  • 31. - PREFIRA SVG DO QUE JPG, PNG, JPEG
  • 32. - OTIMIZE SUA IMAGEM COM UMA FERRAMENTAS - IMAGEMIN
  • 33. - USE O ATRIBUTO ALT=”” - OTIMIZAÇÃO /* notícia sidebar */ <img src=”img/imagem.jpg” alt=”Dilma aumenta salário”>
  • 34. - EVITE CARREGAR IMAGENS EXTERNAS NA SUA APLICAÇÃO /* meu personagem */ <img src=”http://demosthenes.info/assets/images/thumbnails/homer-simp son.svg” alt=”personagem meu site”>
  • 35.
  • 39. - jQuery somente para request - Selecionar elementos do DOM -
  • 40.
  • 41. - MODULARIZE SEMPRE QUE POSSÍVEL - ORGANIZAÇÃO AMBIENTE DE DESENVOLVIMENTO - script.js - validacao.js - mask.js AMBIENTE DE PRODUÇÃO - script.min.js
  • 42. Diminua o número de requests!
  • 43. CONSIDERE EM JAVASCRIPT - MINIFICAR ARQUIVOS DE PRODUÇÃO - USE JSHINT PARA VALIDAÇÃO SINTAXE - CONCATENE ARQUIVOS DE DESENVOLVIMENTO PS: USE TASKS RUNNERS PARA ISSO!
  • 44. - EVITE RELER VETORES DENTRO DE LOOP’s // Evite isto for(var i = 0; i < objeto.length; i++){ console.log(‘acho que fiz besteira!’); } // Prefira var vetor = objeto.length; for(var i = 0; i < vetor; i++){ console.log(‘fiz melhor!’); }
  • 45. - EVITE MANIPULAÇÕES DESNECESSÁRIAS // Evite isto for(var i = 0; i < 500; i++){ document.getElementById(‘MinhaLista’).innerHTML += ‘<span>’+ i +’</span>’; } // Prefira var MinhaLista = ‘ ’; for(var i = 0; i < 500; i++){ MinhaLista += ‘<span>’+ i +’</span>’; } document.getElementById(‘MinhaLista’).innerHTML += MinhaLista;
  • 46. MAS É MUITA COISA
  • 48. CONSIDERE FERRAMENTAS PARA AUTOMATIZAR TUDO!
  • 49. OS 10 MANDAMENTOS DE PERFORMANCE FRONT-END!
  • 50. - 4 BEM AVENTURADO OS QUE MINIFICAM SEUS ARQUIVOS - 1 USAR SVG E NÃO JPG SOBRE TODAS AS COISAS - 3 USE UM PADRÃO PARA TODO SEMPRE - 2 SEJA SOLUCIONADOR DE PROBLEMAS - 5 PREOCUPE-SE COM A OTIMIZAÇÃO DA APLICAÇÃO - 6 PARE, PENSE E SAIBA PROJETAR - 7 IGNORE O IE - 9 AUTOMATIZE A APLICAÇÃO - 8 USE PATTERNS EM JAVASCRIPT SEMPRE QUE POSSÍVEL - 10 NÃO ACOMODE-SE, ESTUDE!
  • 55. LINKS USADOS COMO REFERÊNCIA => ARTIGOS - http://blog.caelum.com.br/por-uma-web-mais-rapida-26-tecnicas-de-otimizacao-de-sites/ - http://www.uolhost.com.br/blog/top-10-formas-de-melhorar-a-performance-de-um-website#rmcl - http://youmightnotneedjquery.com/ - https://irlabr.wordpress.com/apostila-de-ihc/parte-1-ihc-na-pratica/6-usabilidade-e-suas-metas/ - https://www.youtube.com/watch?v=OnCHjU_eAkE - http://loopinfinito.com.br/2013/09/24/throttle-e-debounce-patterns-em-javascript/ => AWESOMES - https://github.com/davidsonfellipe/awesome-wpo - https://github.com/willianjusten/awesome-svg