SlideShare uma empresa Scribd logo
1 de 30
Baixar para ler offline
Dicas para tomadas de 
decisão seguras 
em front-end 
Ramon Bispo 
SCTI - UENF 2014
Quem? Ramon Bispo 
2 
- Design 
- Code 
- Rap
3
4
"Why is being a front end 
engineer hard? I don't know any 
other job where you need to 
learn new technologies 
every 6 weeks." 
— @slicknet http://bit.ly/1GalX4l 
5
6
Tópicos da palestra: 
Descobrindo o propósito dos 
projetos 
Pensando no nicho 
Como e quando otimizar 
Desapegando-se dos vícios 
Lidando com riscos 
7
Tópicos da palestra: 
Lidando com suporte à 
navegadores 
Automação de tarefas 
Dicas gerais 
8
1) Propósito 
Seja fiel ao propósito do projeto 
- É para um cliente? 
- Projeto Open Source? 
- Projeto pessoal ou para a 
faculdade? 
9
"1999: Images are slow to 
download, but at least 
I can read the text. 
2014: Font is slow to download, 
but at least I can… ah shit." 
— @drewm http://bit.ly/10fFK1y 
10
2) Nicho 
Descubra como o projeto deve 
interagir com o usuário 
- Via navegador desktop? 
- Via celular? 
- Os dois? 
- Via app desktop? 
11
"Mobile First. 
No, Content First. 
No, API First. 
No, User First. 
No, Me First." 
— @lukew http://bit.ly/1t3jBdm 
12
2) Nicho 
Minimize o “over-engineering” 
(não é porque você pode 
adicionar certo recurso que 
você deve adicioná-lo) 
13
"you need 14 lines of HTML if you want 
a favicon that works across devices 
and resolutions." 
— @judofyr http://bit.ly/1Ebt0I5 
14
3) Otimização 
1. Faça o código funcionar. 
2. Faça o código ser melhor. 
3. Faça o código ser mais rápido. 
(não otimize prematuramente) 
15
"Oh yeah, GitHub is running 
100% on Rails 3 now. Next: 
Rails 3.1. Look out 2011, here 
we come!" 
— @bkeepers http://bit.ly/1ttpZhD 
16 
Setembro/2014
4) Desapego 
Liberte-se das suas vontades e 
pense no todo. 
Reinvente-se, aceite a mudança. 
Seu código não deve ser só seu, 
ele deve ser de todos. 
17
"Seriously, it’s just code. The 
more I write it, the less I care 
in what language it is." 
— @pcalcado http://bit.ly/1o6rKC6 
18
5) Riscos 
Use frameworks com uma 
comunidade sólida. 
Não alimente os trolls. 
Contribua. 
19
"Programming – " 
— @kyleve http://bit.ly/1o6tYl3 
20
6) Suporte à navegadores 
Use o melhor do mercado 
sempre que possível. 
Dê suporte à navegadores 
antigos sempre que necessário. 
(parece contraditório, mas 
não é!) 
21
22
7) Automação de tarefas 
Essencial para evitar o princípio 
DRY (Don’t Repeat Yourself) 
Use as ferramentas ao seu favor. 
Não complique, simplifique. 
23
"Launching a 
product is the 
start." 
— @lukew http://bit.ly/10jH7vZ 
24
8) Dicas adicionais 
Não tenha medo de errar. 
Menos é mais. Não faça algo só 
porque é “cool". 
Remover código é tão 
importante quanto adicionar 
código. 
25
"the second step is 
easier than the first. 
Always." 
— @ienjoy http://bit.ly/1pYamiE 
26
e para finalizar… 
27
"Everything you need to know about 
Knowledge and Expertise in one handy graph" 
— @swardley http://bit.ly/1wXZC4T 
28
"In the end, it's all about 
having fun. No matter what 
we do, what we work, what we 
achieve in our life." 
— @schneidertobias http://bit.ly/1vzp5hM 
29
Obrigado! 
@ramonpage 
http://ramonpage.com 
contato@ramonpage.com 
30

Mais conteúdo relacionado

Mais procurados

Html5, gamedev e o skeleton jigsaw
Html5, gamedev e o skeleton jigsawHtml5, gamedev e o skeleton jigsaw
Html5, gamedev e o skeleton jigsawWillian Molinari
 
Deixando de ser moleque com PHP
Deixando de ser moleque com PHPDeixando de ser moleque com PHP
Deixando de ser moleque com PHPVinícius Krolow
 
NOSQLBA 2018 - ArangoDB com python
NOSQLBA 2018 - ArangoDB com pythonNOSQLBA 2018 - ArangoDB com python
NOSQLBA 2018 - ArangoDB com pythonfelipe bastosweb
 
Produtividade nas Trincheiras - As armas do desenvolvedor web
Produtividade nas Trincheiras - As armas do desenvolvedor webProdutividade nas Trincheiras - As armas do desenvolvedor web
Produtividade nas Trincheiras - As armas do desenvolvedor webJulio Bitencourt
 
Desenvolvimento Web
Desenvolvimento WebDesenvolvimento Web
Desenvolvimento WebLeonan Luppi
 
Fragments - Reusabilidade de layouts no Android
Fragments - Reusabilidade de layouts no AndroidFragments - Reusabilidade de layouts no Android
Fragments - Reusabilidade de layouts no AndroidLeonardo Rossetto
 
Programar != desenvolver software
Programar != desenvolver softwareProgramar != desenvolver software
Programar != desenvolver softwareElton Minetto
 
Globo.com - Porque amamos open-source?
Globo.com - Porque amamos open-source?Globo.com - Porque amamos open-source?
Globo.com - Porque amamos open-source?Igor Macaubas
 
Os desafios de desenvolver o demo do skeleton jigsaw com html5
Os desafios de desenvolver o demo do skeleton jigsaw com html5Os desafios de desenvolver o demo do skeleton jigsaw com html5
Os desafios de desenvolver o demo do skeleton jigsaw com html5tdc-globalcode
 
Versionamento Ágil com Git
Versionamento Ágil com GitVersionamento Ágil com Git
Versionamento Ágil com Gitelliando dias
 
Testes e depuração de código com Python
Testes e depuração de código com PythonTestes e depuração de código com Python
Testes e depuração de código com PythonDorneles Treméa
 

Mais procurados (18)

Html5, gamedev e o skeleton jigsaw
Html5, gamedev e o skeleton jigsawHtml5, gamedev e o skeleton jigsaw
Html5, gamedev e o skeleton jigsaw
 
Deixando de ser moleque com PHP
Deixando de ser moleque com PHPDeixando de ser moleque com PHP
Deixando de ser moleque com PHP
 
Node js
Node jsNode js
Node js
 
NOSQLBA 2018 - ArangoDB com python
NOSQLBA 2018 - ArangoDB com pythonNOSQLBA 2018 - ArangoDB com python
NOSQLBA 2018 - ArangoDB com python
 
Produtividade nas Trincheiras - As armas do desenvolvedor web
Produtividade nas Trincheiras - As armas do desenvolvedor webProdutividade nas Trincheiras - As armas do desenvolvedor web
Produtividade nas Trincheiras - As armas do desenvolvedor web
 
Desenvolvimento Web
Desenvolvimento WebDesenvolvimento Web
Desenvolvimento Web
 
Desenvolvimento Web
Desenvolvimento WebDesenvolvimento Web
Desenvolvimento Web
 
Fragments - Reusabilidade de layouts no Android
Fragments - Reusabilidade de layouts no AndroidFragments - Reusabilidade de layouts no Android
Fragments - Reusabilidade de layouts no Android
 
Programar != desenvolver software
Programar != desenvolver softwareProgramar != desenvolver software
Programar != desenvolver software
 
Vagrant
VagrantVagrant
Vagrant
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Dojo com Arduino
Dojo com ArduinoDojo com Arduino
Dojo com Arduino
 
Globo.com - Porque amamos open-source?
Globo.com - Porque amamos open-source?Globo.com - Porque amamos open-source?
Globo.com - Porque amamos open-source?
 
Os desafios de desenvolver o demo do skeleton jigsaw com html5
Os desafios de desenvolver o demo do skeleton jigsaw com html5Os desafios de desenvolver o demo do skeleton jigsaw com html5
Os desafios de desenvolver o demo do skeleton jigsaw com html5
 
Groovy Power
Groovy PowerGroovy Power
Groovy Power
 
Versionamento Ágil com Git
Versionamento Ágil com GitVersionamento Ágil com Git
Versionamento Ágil com Git
 
Testes e depuração de código com Python
Testes e depuração de código com PythonTestes e depuração de código com Python
Testes e depuração de código com Python
 
Coding dojo
Coding dojoCoding dojo
Coding dojo
 

Semelhante a Dicas decisão front-end

OmbrosDeGigantes-TDC2014
OmbrosDeGigantes-TDC2014OmbrosDeGigantes-TDC2014
OmbrosDeGigantes-TDC2014Marcio Marchini
 
1ª Reunião - Apresentação da Comunidade NetPonto - C. Augusto Proiete
1ª Reunião - Apresentação da Comunidade NetPonto - C. Augusto Proiete1ª Reunião - Apresentação da Comunidade NetPonto - C. Augusto Proiete
1ª Reunião - Apresentação da Comunidade NetPonto - C. Augusto ProieteComunidade NetPonto
 
#4 Oracle Cloud Meetup - Chatbots
#4 Oracle Cloud Meetup - Chatbots#4 Oracle Cloud Meetup - Chatbots
#4 Oracle Cloud Meetup - Chatbots-
 
P01 - Como ser um desenvolvedor melhor
P01 - Como ser um desenvolvedor melhorP01 - Como ser um desenvolvedor melhor
P01 - Como ser um desenvolvedor melhorLeandro Ferreira
 
O poder do Python/Django
O poder do Python/DjangoO poder do Python/Django
O poder do Python/DjangoÁtila Bezerra
 
Tudo que você sempre quis saber sobre Software Livre mas não tinha coragem de...
Tudo que você sempre quis saber sobre Software Livre mas não tinha coragem de...Tudo que você sempre quis saber sobre Software Livre mas não tinha coragem de...
Tudo que você sempre quis saber sobre Software Livre mas não tinha coragem de...Jerônimo Medina Madruga
 
Um desenvolvedor com princípios SOLID
Um desenvolvedor com princípios SOLIDUm desenvolvedor com princípios SOLID
Um desenvolvedor com princípios SOLIDHélio Medeiros
 
Trabalho Gerencia de Projetos
Trabalho Gerencia de ProjetosTrabalho Gerencia de Projetos
Trabalho Gerencia de ProjetosDiego BBahia
 
Desenvolvendo aplicativos móveis com Adobe AIR
Desenvolvendo aplicativos móveis com Adobe AIRDesenvolvendo aplicativos móveis com Adobe AIR
Desenvolvendo aplicativos móveis com Adobe AIROdair Seixas
 
No core do node js - entendendo como a plataforma trabalha
No core do node js  - entendendo como a plataforma trabalhaNo core do node js  - entendendo como a plataforma trabalha
No core do node js - entendendo como a plataforma trabalhaMarcelo Serpa
 
Agile br2011 lucabastos-prog10x-noiteagilcaelum
Agile br2011 lucabastos-prog10x-noiteagilcaelumAgile br2011 lucabastos-prog10x-noiteagilcaelum
Agile br2011 lucabastos-prog10x-noiteagilcaelumLuca Bastos
 
#02 - Segundo Meetup React Goiânia
#02 - Segundo Meetup React Goiânia#02 - Segundo Meetup React Goiânia
#02 - Segundo Meetup React GoiâniaGleidson Daniel
 
O ciclo da vida
O ciclo da vidaO ciclo da vida
O ciclo da vidaLuiz Borba
 

Semelhante a Dicas decisão front-end (20)

Novas Fronteiras
Novas FronteirasNovas Fronteiras
Novas Fronteiras
 
OmbrosDeGigantes-TDC2014
OmbrosDeGigantes-TDC2014OmbrosDeGigantes-TDC2014
OmbrosDeGigantes-TDC2014
 
1ª Reunião - Apresentação da Comunidade NetPonto - C. Augusto Proiete
1ª Reunião - Apresentação da Comunidade NetPonto - C. Augusto Proiete1ª Reunião - Apresentação da Comunidade NetPonto - C. Augusto Proiete
1ª Reunião - Apresentação da Comunidade NetPonto - C. Augusto Proiete
 
Python e Golang - Parte 2
Python e Golang - Parte 2Python e Golang - Parte 2
Python e Golang - Parte 2
 
BrazilJS 2012
BrazilJS 2012BrazilJS 2012
BrazilJS 2012
 
Slide
SlideSlide
Slide
 
#4 Oracle Cloud Meetup - Chatbots
#4 Oracle Cloud Meetup - Chatbots#4 Oracle Cloud Meetup - Chatbots
#4 Oracle Cloud Meetup - Chatbots
 
P01 - Como ser um desenvolvedor melhor
P01 - Como ser um desenvolvedor melhorP01 - Como ser um desenvolvedor melhor
P01 - Como ser um desenvolvedor melhor
 
O poder do Python/Django
O poder do Python/DjangoO poder do Python/Django
O poder do Python/Django
 
Tudo que você sempre quis saber sobre Software Livre mas não tinha coragem de...
Tudo que você sempre quis saber sobre Software Livre mas não tinha coragem de...Tudo que você sempre quis saber sobre Software Livre mas não tinha coragem de...
Tudo que você sempre quis saber sobre Software Livre mas não tinha coragem de...
 
Um desenvolvedor com princípios SOLID
Um desenvolvedor com princípios SOLIDUm desenvolvedor com princípios SOLID
Um desenvolvedor com princípios SOLID
 
Trabalho Gerencia de Projetos
Trabalho Gerencia de ProjetosTrabalho Gerencia de Projetos
Trabalho Gerencia de Projetos
 
PHP Anti Patterns
PHP Anti PatternsPHP Anti Patterns
PHP Anti Patterns
 
Desenvolvendo aplicativos móveis com Adobe AIR
Desenvolvendo aplicativos móveis com Adobe AIRDesenvolvendo aplicativos móveis com Adobe AIR
Desenvolvendo aplicativos móveis com Adobe AIR
 
PHP: Além do sitezinho
PHP: Além do sitezinhoPHP: Além do sitezinho
PHP: Além do sitezinho
 
No core do node js - entendendo como a plataforma trabalha
No core do node js  - entendendo como a plataforma trabalhaNo core do node js  - entendendo como a plataforma trabalha
No core do node js - entendendo como a plataforma trabalha
 
Agile br2011 lucabastos-prog10x-noiteagilcaelum
Agile br2011 lucabastos-prog10x-noiteagilcaelumAgile br2011 lucabastos-prog10x-noiteagilcaelum
Agile br2011 lucabastos-prog10x-noiteagilcaelum
 
#02 - Segundo Meetup React Goiânia
#02 - Segundo Meetup React Goiânia#02 - Segundo Meetup React Goiânia
#02 - Segundo Meetup React Goiânia
 
O ciclo da vida
O ciclo da vidaO ciclo da vida
O ciclo da vida
 
Desmistificando Raspberry
Desmistificando RaspberryDesmistificando Raspberry
Desmistificando Raspberry
 

Mais de Ramon Bispo

Assets on Rails na Prática
Assets on Rails na PráticaAssets on Rails na Prática
Assets on Rails na PráticaRamon Bispo
 
Café22: Just Like Music
Café22: Just Like MusicCafé22: Just Like Music
Café22: Just Like MusicRamon Bispo
 
Mercado front-end: esteja preparado para ele
Mercado front-end: esteja preparado para eleMercado front-end: esteja preparado para ele
Mercado front-end: esteja preparado para eleRamon Bispo
 
Rock'n Rails - Front-end com Rails
Rock'n Rails - Front-end com RailsRock'n Rails - Front-end com Rails
Rock'n Rails - Front-end com RailsRamon Bispo
 
Café22: Community-a-holic
Café22: Community-a-holicCafé22: Community-a-holic
Café22: Community-a-holicRamon Bispo
 
FLISOL RJ - Você tem medo de quê?
FLISOL RJ - Você tem medo de quê?FLISOL RJ - Você tem medo de quê?
FLISOL RJ - Você tem medo de quê?Ramon Bispo
 
Semana da Computação UFF - Você tem medo de quê?
Semana da Computação UFF - Você tem medo de quê?Semana da Computação UFF - Você tem medo de quê?
Semana da Computação UFF - Você tem medo de quê?Ramon Bispo
 
Community-a-holic
Community-a-holicCommunity-a-holic
Community-a-holicRamon Bispo
 
A Mágica dos Css Sprites
A Mágica dos Css SpritesA Mágica dos Css Sprites
A Mágica dos Css SpritesRamon Bispo
 

Mais de Ramon Bispo (9)

Assets on Rails na Prática
Assets on Rails na PráticaAssets on Rails na Prática
Assets on Rails na Prática
 
Café22: Just Like Music
Café22: Just Like MusicCafé22: Just Like Music
Café22: Just Like Music
 
Mercado front-end: esteja preparado para ele
Mercado front-end: esteja preparado para eleMercado front-end: esteja preparado para ele
Mercado front-end: esteja preparado para ele
 
Rock'n Rails - Front-end com Rails
Rock'n Rails - Front-end com RailsRock'n Rails - Front-end com Rails
Rock'n Rails - Front-end com Rails
 
Café22: Community-a-holic
Café22: Community-a-holicCafé22: Community-a-holic
Café22: Community-a-holic
 
FLISOL RJ - Você tem medo de quê?
FLISOL RJ - Você tem medo de quê?FLISOL RJ - Você tem medo de quê?
FLISOL RJ - Você tem medo de quê?
 
Semana da Computação UFF - Você tem medo de quê?
Semana da Computação UFF - Você tem medo de quê?Semana da Computação UFF - Você tem medo de quê?
Semana da Computação UFF - Você tem medo de quê?
 
Community-a-holic
Community-a-holicCommunity-a-holic
Community-a-holic
 
A Mágica dos Css Sprites
A Mágica dos Css SpritesA Mágica dos Css Sprites
A Mágica dos Css Sprites
 

Dicas decisão front-end

  • 1. Dicas para tomadas de decisão seguras em front-end Ramon Bispo SCTI - UENF 2014
  • 2. Quem? Ramon Bispo 2 - Design - Code - Rap
  • 3. 3
  • 4. 4
  • 5. "Why is being a front end engineer hard? I don't know any other job where you need to learn new technologies every 6 weeks." — @slicknet http://bit.ly/1GalX4l 5
  • 6. 6
  • 7. Tópicos da palestra: Descobrindo o propósito dos projetos Pensando no nicho Como e quando otimizar Desapegando-se dos vícios Lidando com riscos 7
  • 8. Tópicos da palestra: Lidando com suporte à navegadores Automação de tarefas Dicas gerais 8
  • 9. 1) Propósito Seja fiel ao propósito do projeto - É para um cliente? - Projeto Open Source? - Projeto pessoal ou para a faculdade? 9
  • 10. "1999: Images are slow to download, but at least I can read the text. 2014: Font is slow to download, but at least I can… ah shit." — @drewm http://bit.ly/10fFK1y 10
  • 11. 2) Nicho Descubra como o projeto deve interagir com o usuário - Via navegador desktop? - Via celular? - Os dois? - Via app desktop? 11
  • 12. "Mobile First. No, Content First. No, API First. No, User First. No, Me First." — @lukew http://bit.ly/1t3jBdm 12
  • 13. 2) Nicho Minimize o “over-engineering” (não é porque você pode adicionar certo recurso que você deve adicioná-lo) 13
  • 14. "you need 14 lines of HTML if you want a favicon that works across devices and resolutions." — @judofyr http://bit.ly/1Ebt0I5 14
  • 15. 3) Otimização 1. Faça o código funcionar. 2. Faça o código ser melhor. 3. Faça o código ser mais rápido. (não otimize prematuramente) 15
  • 16. "Oh yeah, GitHub is running 100% on Rails 3 now. Next: Rails 3.1. Look out 2011, here we come!" — @bkeepers http://bit.ly/1ttpZhD 16 Setembro/2014
  • 17. 4) Desapego Liberte-se das suas vontades e pense no todo. Reinvente-se, aceite a mudança. Seu código não deve ser só seu, ele deve ser de todos. 17
  • 18. "Seriously, it’s just code. The more I write it, the less I care in what language it is." — @pcalcado http://bit.ly/1o6rKC6 18
  • 19. 5) Riscos Use frameworks com uma comunidade sólida. Não alimente os trolls. Contribua. 19
  • 20. "Programming – " — @kyleve http://bit.ly/1o6tYl3 20
  • 21. 6) Suporte à navegadores Use o melhor do mercado sempre que possível. Dê suporte à navegadores antigos sempre que necessário. (parece contraditório, mas não é!) 21
  • 22. 22
  • 23. 7) Automação de tarefas Essencial para evitar o princípio DRY (Don’t Repeat Yourself) Use as ferramentas ao seu favor. Não complique, simplifique. 23
  • 24. "Launching a product is the start." — @lukew http://bit.ly/10jH7vZ 24
  • 25. 8) Dicas adicionais Não tenha medo de errar. Menos é mais. Não faça algo só porque é “cool". Remover código é tão importante quanto adicionar código. 25
  • 26. "the second step is easier than the first. Always." — @ienjoy http://bit.ly/1pYamiE 26
  • 28. "Everything you need to know about Knowledge and Expertise in one handy graph" — @swardley http://bit.ly/1wXZC4T 28
  • 29. "In the end, it's all about having fun. No matter what we do, what we work, what we achieve in our life." — @schneidertobias http://bit.ly/1vzp5hM 29
  • 30. Obrigado! @ramonpage http://ramonpage.com contato@ramonpage.com 30