Upload
marlos-carmo
View
10.588
Download
4
Embed Size (px)
DESCRIPTION
Citation preview
A (R)EVOLUÇÃO DO
FRONT-END
MARLOS CARMOGERENTE DE OPERAÇÕES DIGITAIS
NA RC COMUNICAÇÃO
#SOUDEV HÁ 15 ANOS / #SOUCHEFE HÁ 8 ANOS
twitter.com/marloscarmo
facebook.com/marloscarmo
github.com/marloscarmo
Há 15 anos atrás não “existia” a disciplina de front-end...
Ou você era:
Ou você era:
webmaster
Ou você era:
webmaster ou
Ou você era:
webmaster webdesignerou
No final das contas era quase a mesma coisa e o que os diferenciava era...
webmasterfazia sites com fundo
preto
webdesignerfazia sites com fundo
branco
Em 1998 os sites eram praticamente todos estáticos e os editores WYSIWYG reinavam.
FrontPage
Dreamweaver
Não existia nenhuma preocupação com o código e sua manutenção.
“Desenhou” o site no FrontPage e rodou no IE. #pronto
Os códigos ficavam “uma beleza”.Imaginem todo o HTML, o CSS e o JavaScript no mesmo arquivo.
A arte do CTRL + C/ Ctrl + V prevalecia.
Existiam diretórios com vários tipos de menus, gifs animados, DHTMLs, Applets e tudo mais. Era só copiar e colar no seu código.
Com o passar do tempo a divisão dos cargos foi aumentando junto com a popularização das tecnologias.
webdesigner
webdeveloper
webwriter
programador ASP
programador PHP
webdesigner
webdeveloper
webwriter
programador ASP
programador PHP
menino do HTML
Com o passar do tempo a divisão dos cargos foi aumentando junto com a popularização das tecnologias.
Os programadores que se especializavam seguiam o caminho do back-end, pois lá estava toda a magia.
“Você, menino do HTML, um dia será um programador back-end”(mas enquanto isso recorte estas 42 telas aqui para hoje)
Isso se tornou mais forte ainda com a popularização do Flash.
Os sites não precisavam ter muito conteúdo, desde que tivessem uma animação de abertura.
E nos dias de hoje a coisa mudou muito. O menino do HTML agora tem até nome:
FRONT-END ENGINEER
E o trabalho fica cada vez mais
COMPLEXO
Antes, o JavaScript que não era levado a sério e era considerado uma
TOY LANGUAGE
Atualmente está se tornando uma linguagem cada vez mais universal.
ETC
BROWSER WEB APPS
MOBILE APPS DESKTOP APPS
SERVIDOR
E um bom profissional de front-end tem que entender bem das seguintes disciplinas...
SEGURANÇA
TESTES
ACESSIBILIDADE
SUPORTE MULTI-BROWSERS
SUPORTE MULTI-DEVICES
SUPORTE MULTI-TELAS
PERFORMANCE
CONHECIMENTOS DE SERVER
SEO
ALGUNS PASSOS PARA UM BOM
FRONT-END
Não use IE
#pronto
Ajudar a comunidade também é super importante.
Escolha um bom
EDITOR
NÃO REIVENTE A RODA Use as melhores práticas
HTML5 Boilerplate
http://html5boilerplate.com/
HTML5 Boilerplate
HTML Email Boilerplate
http://htmlemailboilerplate.com/
HTML Email Boilerplate
Twitter Bootstrap
http://twitter.github.io/bootstrap/
Twitter Bootstrap
USE FRAMEWORKS(com moderação)
7 PRINCÍPIOSdo Meteor
Data on the wire
Nunca trafegue HTML.Envie a informação e deixe o cliente decidir como apresentá-la.
1
One Language
Escreva JavaScript no front e no back-end. Reutilize seus códigos.
2
Database Everywhere
Use a mesma API para acessar seu banco de dados no client e no server.
3
Latency Compensation
Simula latência zero com o banco de dados no servidor.4
Full Stack Reactivity
Faça realtime por padrão.Todas as camadas, do banco ao template, devem ser orientadas aos eventos de interface.
5
Embrace the Ecosystem
Meteor é open source e integra, ao invés de substituir, ferramentas e frameworks existentes.
6
Simplicity Equals Productivity
A melhor maneira de fazer algo parecer simples é torná-lo realmente simples. Buscamos isso através de uma API clean e extremamentes fácil.
7
AUTOMATIZEseus scripts
ENXUGUEao máximo seu site
https://developers.google.com/speed/pagespeed/?hl=pt-BR
http://browserdiet.com/pt/
Como perder peso no browser?
Prepare bem seu
AMBIENTE
Yeoman consiste em um conjunto de ferramentas voltadas para criar rapidamente um novo projeto web e gerenciá-lo durante o processo.
http://yeoman.io/
Faz um scaffold da estrutura do seu projeto.
$yo webapp
Faz um scaffold da estrutura do seu projeto.
$yo webapp
Ele vai passar um JSHint no código, compilar arquivos CoffeeScript e SASS, utilizar o r.js para compilar e otimizar módulos AMD, juntar e minificar arquivos .css e .js, comprimir as imagens utilizando o OptiPNG para .png e JPEGtran-turbo para .jpeg, vai rodar os testes utilizando PhantomJS e utilizar o Confess.js para criar o arquivo de cache da aplicação.
$grunt server // cria um servidor e altera em tempo real
$grunt test // roda os testes da sua aplicação
$grunt build // monta sua aplicação para produção
$grunt server // cria um servidor e altera em tempo real
$grunt test // roda os testes da sua aplicação
$grunt build // monta sua aplicação para produção
Gerencia dependências do seu projeto. Baixa, adiciona e atualiza o componente de forma automatizada.
$bower install jquery
$bower update jquery
Existe algumas outras opções ao YEOMAN
Brunch CodeKit
LiveReload
O GOOGLEquer ler e entender seu site
www.slideshare.net/fabioricotta/seo-para-frontend-beagajs
Dicas - MestreSEO
TESTEsua aplicação
http://www.youtube.com/watch?v=5z6eFve4TxI
QUnit
DEPLOY!esqueça o ftp
CAPISTRANOhttp://capify.org
RSYNChttp://rsync.samba.org/
FABRIChttp://docs.fabfile.org/en/1.6/
define o ambiente de desenvolvimento
code by @ruyadorno
define o ambiente de produção
code by @ruyadorno
configura o projeto no ambiente escolhido
code by @ruyadorno
atualiza o projeto no ambiente escolhido
code by @ruyadorno
$fab dev update
atualizar o projeto no ambiente de desenvolvimento
$fab dev update
atualizar o projeto no ambiente de desenvolvimento
$fab prod update
atualizar o projeto no ambiente de produção
Participe ativamente daCOMUNIDADE
http://www.facebook.com/groups/beagajs/
BeagaJS
OBRIGADO@marloscarmo