GUIA DO
FRONT-END
DAS
GALÁXIAS
Davidson Fellipe v4
Front in Cuiabá 2015
Frontend Carioca 2014
Rupy Natal 2014
Front in Aracaju 2014
me
apresentada em
HTML ~ 2001
senior front-end engineer
globo.com ~ 2010
mais em fellipe.com
me
marvin,
Quer ser
front-end
ELE ERA
CURIOSO…
curiosidade
É um importante combustível
para aprender mais, testar coisas
novas, e lidar com o tentativa e
erro.
FRONTEND DEVELOPER
UI ENGINEER
WEB DEVELOPER
PROJETISTA DE INTERFACES
FRONTEND ENGINEER
FRONT-END UNICORN
FRONT-END UX NINJA
FRONT-END NINJA
MAS O QUÊ
FAZ UM?
HTML
html
começando do fazer de qualquer
jeito
ao código com sua devida
semântica
CSS
css
começando do remover
sublinhado de links
até sua relevância para
apresentar visual, animações e
interações e responsiv...
JAVASCRIPT
javascript
da validação de formulários
até ferramenta de grande
relevância para melhoria da
experiência do usuário
diferentes navegadores
diferentes versões
diferentes resoluções
diferentes dispositivos
integração
começou
a seguir
referências…
GRANDES GRINGOS DA ÁREA
@leaverou
@paul_irish
@codepo8
@souders
@slicknet
@stoyanstefanov
@stubbornella
@addyosmani
@rauch...
@zenorocha
@marcelduran
@maujor
@bergbrandt
@fabiomcosta
@eduardolundgren
@jaydson
@almirfilho
@leobalter
@millermedeiros
...
O QUE PRECISO
APRENDER?
HTML, CSS, JAVASCRIPT, FEATURE DETECTION,
REPAINT, REFLOW, PRÉ-PROCESSADORES, HTTP,
CSRF, XSS, TIME FUNCTIONS PARA ANIMAÇÕ...
HTTP://I1-
NEWS.SOFTPE
https://twitter.com/slicknet/status/292103833327370240
COMO POR
EM PRÁTICA?
ESCOLHENDO UM
EDITOR
CRIO UM PADRÃO?
BUSCO POR UM
PADRÃO?
http://html5boilerplate.com/
O que aprendo?
Boa organização de arquivos
Estrutura do HTML, CSS e JS
Projetos em constante evolução
GRANDES
PROBLEMAS
http://cubic-bezier.com/#.17,.67,.83,.67
COMO
ORGANIZAR
MEU PROJETO?
definindo uma estrutura
padrões
ponto e vírgula;
espaços vs tabulações
aspas simples vs aspas duplas
nomenclaturas para functions, Object
Literal,...
https://github.com/rwaldron/idiomatic.js/
https://github.com/airbnb/javascript
COMO
ORGANIZAR
MEU CSS?
css nãããããããão
CSS
VS
PRÉ-PROCESSADOR
vantagens
produtividade
facilidade de trabalhar

com módulos e variáveis
uso de mixins e placeholders
PÉSSIMAS PRÁTICAS
COM CSS, PODEM SER
PIORADAS COM
PRÉ-PROCESSADORES
fazendo o mal com css
.bisavo {
.avo {
.pai {
#wtf {
color: #f60;
}
}
}
}
.bisavo .avo .pai #wtf {
color: #f60;
}
SCSS CSS
http://csslint.net/
COMO
ORGANIZAR
MEU JS?
APRENDA
ALGORITMOS!!!
http://eloquentjavascript.net/
https://github.com/braziljs/eloquente-javascript
também em português
HTTP://I1-
NEWS.SOFTPE
<3
NÃO DESPREZE OS
CUSTOS DO LADO
FRONT-END!
MUITAS VEZES
OS CUSTOS PODEM
SER MAIS ALTOS QUE
OS DO BACK-END!
aprenda
Design Patterns
Inheritance
Prototype e Promises
Memoize, Throttle e Debounce
Detalhes do JSLint
Escopo de variáve...
http://www.jshint.com/
JSHINT
ESQUEÇA
FTP COM GUI
ESQUEÇA
SVN
git, mercurial…
TRABALHAR COM REPOS
ENTENDER BRANCHES, TAGS
PULL REQUEST
ISSUES
https://github.com/
https://bitbucket.org/
COMO GERENCIO
MEU TEMPO?
https://trello.com/
http://www.yast.com/
https://wakatime.com/
https://www.rescuetime.com
COMO
MANTENHO
MEU PROJETO?
http://jasmine.github.io/
http://qunitjs.com/
http://visionmedia.github.io/mocha/
INTEGRAÇÃO
CONTÍNUA
processo de deploy
TASK
RUNNERS
MAKE
ANT
RAKE
CAKE
GULP
GRUNT
SHELL
JAVA
RUBY
COFFEE
JS
JS
$ make grunt-config
MAKEFILE
grunt-config:
@echo '✖ installing node'; brew install node;
@echo '✖ installing grunt'; sudo n...
tasks
testes
pré-processadores
js/css lint
criar sprites
concatenação
otimização de imagens
task
compass:prod
MAKEFILE
grunt.initConfig({
compass: {
dev: { /* ... */ },
prod: {
options: {
sassDir: 'src/scss',
cssDi...
https://github.com/vigetlabs/grunt-complexity
executando
$ grunt compass:dev
$ grunt compass:prod
https://github.com/davidsonfellipe/grunt-workflow
http://bower.io/
http://yeoman.io/
automatize suas
configurações
https://github.com/davidsonfellipe/dotfiles
PERFORMANCE
Qual impacto da
performance?
baixas conversões
baixo engajamento
altas taxas de rejeição
https://github.com/davidsonfellipe/awesome-wpo
http://browserdiet.com/pt
https://github.com/davidsonfellipe/keepfast/
OTIMIZAR A
EXPERIÊNCIA
DO USUÁRIO
QI
de 30 bilhões de
vezes superior ao
de um ser humano
COMO SE MANTER
ATUALIZADO?
http://braziljs.org/
http://web-design-weekly.com/
http://html5weekly.com/
http://javascriptweekly.com
Aprenda com o
tempo
código limpo
testes
preocupação com
manutenibilidade e
extensibilidade
fellipe.com/talks
github.com/davidsonfellipe
twitter.com/davidsonfellipe
obrigado pelos peixes
Guia do Front-end das Galáxias
Guia do Front-end das Galáxias
Guia do Front-end das Galáxias
Guia do Front-end das Galáxias
Guia do Front-end das Galáxias
Guia do Front-end das Galáxias
Guia do Front-end das Galáxias
Guia do Front-end das Galáxias
Guia do Front-end das Galáxias
Guia do Front-end das Galáxias
Guia do Front-end das Galáxias
Guia do Front-end das Galáxias
Guia do Front-end das Galáxias
Guia do Front-end das Galáxias
Guia do Front-end das Galáxias
Guia do Front-end das Galáxias
Guia do Front-end das Galáxias
Guia do Front-end das Galáxias
Guia do Front-end das Galáxias
Guia do Front-end das Galáxias
Guia do Front-end das Galáxias
Guia do Front-end das Galáxias
Upcoming SlideShare
Loading in …5
×

Guia do Front-end das Galáxias

11,083
-1

Published on

Guia do front end das galaxias

Published in: Software
9 Comments
132 Likes
Statistics
Notes
No Downloads
Views
Total Views
11,083
On Slideshare
0
From Embeds
0
Number of Embeds
14
Actions
Shares
0
Downloads
323
Comments
9
Likes
132
Embeds 0
No embeds

No notes for slide

Guia do Front-end das Galáxias

  1. 1. GUIA DO FRONT-END DAS GALÁXIAS Davidson Fellipe v4
  2. 2. Front in Cuiabá 2015 Frontend Carioca 2014 Rupy Natal 2014 Front in Aracaju 2014 me apresentada em
  3. 3. HTML ~ 2001 senior front-end engineer globo.com ~ 2010 mais em fellipe.com me
  4. 4. marvin, Quer ser front-end
  5. 5. ELE ERA CURIOSO…
  6. 6. curiosidade É um importante combustível para aprender mais, testar coisas novas, e lidar com o tentativa e erro.
  7. 7. FRONTEND DEVELOPER UI ENGINEER WEB DEVELOPER PROJETISTA DE INTERFACES FRONTEND ENGINEER
  8. 8. FRONT-END UNICORN FRONT-END UX NINJA FRONT-END NINJA
  9. 9. MAS O QUÊ FAZ UM?
  10. 10. HTML
  11. 11. html começando do fazer de qualquer jeito ao código com sua devida semântica
  12. 12. CSS
  13. 13. css começando do remover sublinhado de links até sua relevância para apresentar visual, animações e interações e responsividade
  14. 14. JAVASCRIPT
  15. 15. javascript da validação de formulários até ferramenta de grande relevância para melhoria da experiência do usuário
  16. 16. diferentes navegadores diferentes versões diferentes resoluções diferentes dispositivos integração
  17. 17. começou a seguir referências…
  18. 18. GRANDES GRINGOS DA ÁREA @leaverou @paul_irish @codepo8 @souders @slicknet @stoyanstefanov @stubbornella @addyosmani @rauchg @sindresorhus @cowboy @mathias @valueof @rmurphey
  19. 19. @zenorocha @marcelduran @maujor @bergbrandt @fabiomcosta @eduardolundgren @jaydson @almirfilho @leobalter @millermedeiros @caio_gondim @felipenmoura NOMES brazucas DA ÁREA @sergio_caelum @jcemer
  20. 20. O QUE PRECISO APRENDER?
  21. 21. HTML, CSS, JAVASCRIPT, FEATURE DETECTION, REPAINT, REFLOW, PRÉ-PROCESSADORES, HTTP, CSRF, XSS, TIME FUNCTIONS PARA ANIMAÇÕES, SVG, CANVAS, LOCALSTORAGE, WEBCOMPONENTS, WEBSOCKETS, SHADOW DOM, FERRAMENTAS PARA DEBUG, SISTEMAS DE GRIDS, SCHEMA.ORG, SEO... GESTÃO DE DEPENDÊNCIAS, FRAMEWORKS MVC, TESTES, ANALISADORES DE QUALIDADE DE CÓDIGO, TASK RUNNERS, PERFORMANCE... E PORQUE NÃO?
  22. 22. HTTP://I1- NEWS.SOFTPE
  23. 23. https://twitter.com/slicknet/status/292103833327370240
  24. 24. COMO POR EM PRÁTICA?
  25. 25. ESCOLHENDO UM EDITOR
  26. 26. CRIO UM PADRÃO?
  27. 27. BUSCO POR UM PADRÃO?
  28. 28. http://html5boilerplate.com/
  29. 29. O que aprendo? Boa organização de arquivos Estrutura do HTML, CSS e JS Projetos em constante evolução
  30. 30. GRANDES PROBLEMAS
  31. 31. http://cubic-bezier.com/#.17,.67,.83,.67
  32. 32. COMO ORGANIZAR MEU PROJETO?
  33. 33. definindo uma estrutura
  34. 34. padrões ponto e vírgula; espaços vs tabulações aspas simples vs aspas duplas nomenclaturas para functions, Object Literal, conditional statement...
  35. 35. https://github.com/rwaldron/idiomatic.js/
  36. 36. https://github.com/airbnb/javascript
  37. 37. COMO ORGANIZAR MEU CSS?
  38. 38. css nãããããããão
  39. 39. CSS VS PRÉ-PROCESSADOR
  40. 40. vantagens produtividade facilidade de trabalhar
 com módulos e variáveis uso de mixins e placeholders
  41. 41. PÉSSIMAS PRÁTICAS COM CSS, PODEM SER PIORADAS COM PRÉ-PROCESSADORES
  42. 42. fazendo o mal com css .bisavo { .avo { .pai { #wtf { color: #f60; } } } } .bisavo .avo .pai #wtf { color: #f60; } SCSS CSS
  43. 43. http://csslint.net/
  44. 44. COMO ORGANIZAR MEU JS?
  45. 45. APRENDA ALGORITMOS!!!
  46. 46. http://eloquentjavascript.net/
  47. 47. https://github.com/braziljs/eloquente-javascript também em português
  48. 48. HTTP://I1- NEWS.SOFTPE <3
  49. 49. NÃO DESPREZE OS CUSTOS DO LADO FRONT-END!
  50. 50. MUITAS VEZES OS CUSTOS PODEM SER MAIS ALTOS QUE OS DO BACK-END!
  51. 51. aprenda Design Patterns Inheritance Prototype e Promises Memoize, Throttle e Debounce Detalhes do JSLint Escopo de variáveis
  52. 52. http://www.jshint.com/ JSHINT
  53. 53. ESQUEÇA FTP COM GUI
  54. 54. ESQUEÇA SVN
  55. 55. git, mercurial… TRABALHAR COM REPOS ENTENDER BRANCHES, TAGS PULL REQUEST ISSUES
  56. 56. https://github.com/
  57. 57. https://bitbucket.org/
  58. 58. COMO GERENCIO MEU TEMPO?
  59. 59. https://trello.com/
  60. 60. http://www.yast.com/
  61. 61. https://wakatime.com/
  62. 62. https://www.rescuetime.com
  63. 63. COMO MANTENHO MEU PROJETO?
  64. 64. http://jasmine.github.io/
  65. 65. http://qunitjs.com/
  66. 66. http://visionmedia.github.io/mocha/
  67. 67. INTEGRAÇÃO CONTÍNUA
  68. 68. processo de deploy
  69. 69. TASK RUNNERS
  70. 70. MAKE ANT RAKE CAKE GULP GRUNT SHELL JAVA RUBY COFFEE JS JS
  71. 71. $ make grunt-config MAKEFILE grunt-config: @echo '✖ installing node'; brew install node; @echo '✖ installing grunt'; sudo npm install -g grunt-cli; @sudo npm i --save-dev make
  72. 72. tasks testes pré-processadores js/css lint criar sprites concatenação otimização de imagens
  73. 73. task compass:prod MAKEFILE grunt.initConfig({ compass: { dev: { /* ... */ }, prod: { options: { sassDir: 'src/scss', cssDir: 'build/css', imagesDir: 'src/img', generatedImagesDir: 'build/img', outputStyle: 'compressed', noLineComments: true }}}}); js
  74. 74. https://github.com/vigetlabs/grunt-complexity
  75. 75. executando $ grunt compass:dev $ grunt compass:prod
  76. 76. https://github.com/davidsonfellipe/grunt-workflow
  77. 77. http://bower.io/
  78. 78. http://yeoman.io/
  79. 79. automatize suas configurações https://github.com/davidsonfellipe/dotfiles
  80. 80. PERFORMANCE
  81. 81. Qual impacto da performance? baixas conversões baixo engajamento altas taxas de rejeição
  82. 82. https://github.com/davidsonfellipe/awesome-wpo
  83. 83. http://browserdiet.com/pt
  84. 84. https://github.com/davidsonfellipe/keepfast/
  85. 85. OTIMIZAR A EXPERIÊNCIA DO USUÁRIO
  86. 86. QI de 30 bilhões de vezes superior ao de um ser humano
  87. 87. COMO SE MANTER ATUALIZADO?
  88. 88. http://braziljs.org/
  89. 89. http://web-design-weekly.com/
  90. 90. http://html5weekly.com/
  91. 91. http://javascriptweekly.com
  92. 92. Aprenda com o tempo código limpo testes preocupação com manutenibilidade e extensibilidade
  93. 93. fellipe.com/talks github.com/davidsonfellipe twitter.com/davidsonfellipe obrigado pelos peixes
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×