front-end
como encarar o
desenvolvimento
jcemer.com
twitter.com/jcemer
globo.com
talentos.globo.com
2012 

#1 palestra
Eventos - do
simples ao objeto
2016a era pós 

html5 e css3
2016
✤mobile
✤performance
✤components
✤motion
✤realidade aumentada
projetos web
complexos são cada
vez mais comuns
https://twitter.com/sstephenson/status/730039913052176384
desculpe
não falarei de react
e nem mostrarei
código nesta
palestra,
esta palestra
contém apenas
algumas dicas de
um desenvolvedor
saiba que
existem
diferentes
tipos de
projetos
xdocumentos
aplicações
documentos
aplicações
coletânea de páginas
estados em uma
única página
escopos globais são
simples e eficazes 

em documentos
a {
color: #454545;
}
componentização e
modularização são
essenciais em
aplicações ou portais
de conteúdo
dependendo do
projeto, as
práticas serão
distintas
pondere bem
suas escolhas
de projeto
quando as
necessidades não
estão bem definidas,
é difícil escolher
boas soluções
https://www.lullabot.com/articles/new-and-shiny-vs-good-old-software
@brnnbrn em front trends
✤jquery
✤zeptojs
✤backbone
✤angularjs
✤meteor
✤flight
✤react
find the perfect
solution regardless
of the buzz
https://www.lullabot.com/articles/new-and-shiny-vs-good-old-software
out of style
the philosophy of
small, composable,
single-purpose
tools never goes
na maioria das
vezes, a solução
mais efetiva é a
mais simples
don't need it
you’ll know when
you need flux
if you aren’t sure if
you need it, you
https://github.com/petehunt/react-howto
deixe seu projeto
complexo apenas
quando for
necessário
preocupe-se
com a qualidade
e saúde do
código
less satisfactory
some programs must
be continually adapted 

or they become
- Lehman, 1974
requisitos e ambiente
das aplicações web
mudam com
frequência
complexityincreases
unless work is done to
maintain or reduce it
- Lehman, 1974
código cria
entropia e
apodrece
http://nomedojogo.com/2009/09/08/seu-codigo-esta-apodrecendo/
regra de ourodeixe o código
melhor que quando
você o encontrou
é inviável melhorar
código que não
tenha testes
✤low test coverage
✤fear of refactoring
✤sloppy code
✤bad design
http://blog.codeclimate.com/blog/2013/12/05/refactoring-without-good-tests/
em aplicações
legadas, escrever
testes é sempre
uma boa ideia
mudanças na
comunidade
front-end
apodrecem
seu código
✤prototype.js
✤script.aculo.us
✤mootools
✤knockoutjs
✤backbone
✤correções de bugs?
✤melhorias de
performance?
✤novas features?
alguém aqui lembra
como escrever
código utilizando
prototype.js?
manter tecnologias
ultrapassadas em
um projeto é
mancada
atualizar dependências
aos poucos é melhor
que fazer reescritas
massivas
esteja disposto
e pratique
refactoring 

de código
estude novos
approaches e
especificações
- Ted Nelson - Project Xanadu creator


bizarre structure [...]
and it has a terrible
programming language
the web is a
html, javascript e a
estilização da web
nascerem até mesmo 

sem especificações
simple enough
[the web]
succeeded because
the technology was
just
https://adactio.com/articles/10887
- Jeremy Keith
universality
the power of the web
is in its
- Tim Berners-Lee
flavor of HTML
in '93 to '94, every
browser had its own
- Tim Berners-Lee
as especificações
evoluíram para
normalizar soluções
e atender novas
necessidades
a era do pixel perfect
acabou faz algum
tempo
é possível e
oportuno aplicar
progressive
enhancement
flexbox
I work for
Booking.com,
and we support IE 7,
and I use
- Zoe Mickley ~ CSS Day
https://vimeo.com/131664957
http://www.slideshare.net/PatrickKettner1/making-modern-websites
navegadores
é possível utilizar as
mais novas features e
atender o mais antigo
dos
- Patrick Kettner ~ Modernizr
http://www.slideshare.net/PatrickKettner1/making-modern-websites
evolução dos
approaches está
mais próxima dos
standards
- Rodrigo Willrich
postcss permite
experimentar o css do
futuro hoje mesmo
https://github.com/postcss/postcss
postcss ajuda no
suporte a navegadores
antigos
ecmascript
babel permite escrever
código ecmascript e
dar suporte a
navegadores antigos
https://babeljs.io/
não fique para
trás, use novas
features
não esqueça,
o conteúdo é
protagonista
usabilidade e
acessibilidade são
conceitos que não
saíram de moda
http://jgthms.com/web-design-in-4-minutes/#content
content
the purpose of design
is to enhance the
presentation of 

the
- Jeremy Thomas
foi um prazer
obrigado

Como encarar o desenvolvimento front-end