Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Ecossistema Front-End
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Thiago Alves Luiz
May 20, 2016
Programming
86
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Ecossistema Front-End
Thiago Alves Luiz
May 20, 2016
More Decks by Thiago Alves Luiz
See All by Thiago Alves Luiz
Muito prazer! Mercado de Trabalho de TI
devthiago
0
150
How to enjoy WebVR right now
devthiago
0
73
Inside the Web
devthiago
1
69
Cenário atual do Front-End do ponto de vista de um desenvolvedor
devthiago
0
160
Johnny Five for noobs
devthiago
0
130
React Behind The Scenes
devthiago
1
150
Testando o seu CSS
devthiago
0
150
Repense, Recrie... React
devthiago
0
82
O ecossistema Front-End
devthiago
0
190
Other Decks in Programming
See All in Programming
광주소프트웨어마이스터고등학교 DevFest 특강 - 바이브 코딩 시대에서 주니어 개발자로 살아남는 방법
utilforever
1
150
AI駆動開発を妨げる技術的負債の解消アプローチ / ai-refactoring-approach
minodriven
17
9.2k
分散システム、なんですぐ死んでしまうん?耐障害性を高めたいあなたのためのレジリエンスパターン入門
mshibuya
7
6.5k
Haskell/Servantを通してWebミドルウェアを捉え直す
pizzacat83
1
590
JAWS-UG横浜 #102 AWSサ終供養LT会 成仏できない AWS サービスたち 〜本日、三体供養します〜
maroon1st
0
210
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
0
110
Prismを使った型安全な暗号化_関数型まつり2026
_fhhmm
0
140
Laravel Boostに学ぶ、AIにPHPを書かせる技術 〜OSSの実装から蒸留するエージェント制御の王道〜
kentaroutakeda
3
470
Terraform標準の組織で AWS CDKをどう使うか
mu7889yoon
0
300
関数型プログラミングのメリットって何だろう?
wanko_it
0
180
AI がコードを書く時代における新卒エンジニアの仕事風景 (2026) / New Graduate Engineers in the Era of AI Coding (2026)
sushichan044
0
220
トークンをケチるな、設計しろ:GitHub Copilotを賢く使うコンテキスト戦略
ochtum
0
320
Featured
See All Featured
Making Projects Easy
brettharned
120
6.7k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
220
Raft: Consensus for Rubyists
vanstee
141
7.6k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
Darren the Foodie - Storyboard
khoart
PRO
3
3.4k
My Coaching Mixtape
mlcsv
0
170
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
450
Scaling GitHub
holman
464
140k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
220
The Pragmatic Product Professional
lauravandoore
37
7.4k
Transcript
Ecossistema Front-End Thiago Alves @taltk9
Thiago Alves Luiz Front-End Developer @taltk9 /taltk9
codeminer42.com
Estamos contratando!!!
[email protected]
Codeminer 42 Novo Hamburgo - RS
None
None
Papo de Dev
github.com
linkedin.com
Ecossistema
Conjunto de elementos que interagem a fim de constituir um
sistema estável — O'Neil
Front-End
Camada de apresentação visual de um site ou aplicação web
Conjunto de elementos que interagem a fim de estruturar informações
visuais que permitam a comunicação de usuários com aplicações web
None
· HTML · CSS · JavaScript · UX · SEO
· Acessibilidade
None
None
None
Entender ao máximo as necessidades
None
jquery.com
// jQuery $('#element-id') // JavaScript document.getElementById('element-id')
// jQuery $('.element-className') // JavaScript document.querySelector('.element-className')
AJAX
None
None
None
None
HTML <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head>
<body> <ul id="my-list"><!-- empty --></ul> </body> </html>
jQuery var $myList = $('#my-list'); $.ajax({ url: 'https://api.domain.com/some-list', success: function
(resp) { var data = resp.data; data.map(function (value) { var $myListItem = $('<li>').html(value.title); $myList.append($myListItem); }); } });
HTML Resultante <!DOCTYPE html> ... <body> <ul id="my-list"> <li>Item 1</li>
<li>Item 2</li> <li>Item 3</li> <li>Item 4</li> </ul> </body> </html>
Template Engines
HTML <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head>
<body> <ul id="my-list"><!-- empty --></ul> <script id="template" type="text/template"> {{#each data}} <li>{{ title }}</li> {{/each}} </script> <script src="template-engine.js"></script> </body> </html>
Sem template engine var $myList = $('#my-list'); $.ajax({ url: 'https://api.domain.com/some-list',
success: function (resp) { var data = resp.data; data.map(function (value) { var $myListItem = $('<li>').html(value.title); $myList.append($myListItem); }); } });
Com template engine var $myList = $('#my-list'); var source =
$("#template").html(); var template = TemplateEngine.compile(source); $.ajax({ url: 'https://api.domain.com/some-list', success: function (resp) { $myList(template(resp)); } });
handlebarsjs.com
mozilla.github.io/nunjucks
Mas isso é o básico...
Alguns padrões foram estabelecidos
Boilerplates
html5boilerplate.com
modernizr.com
necolas.github.io/normalize.css
github.com/seanpowell/Email-Boilerplate
Bootstrap
getbootstrap.com
foundation.zurb.com
purecss.io
Muitas requisições e updates
Controle do fluxo de dados e aplicação
Frameworks
backbonejs.org
emberjs.com
angularjs.org
Aplicações tornaram-se mais complexas
... <link rel="stylesheet" href="style-1.css"> <link rel="stylesheet" href="style-2.css"> <link rel="stylesheet" href="style-3.css">
<link rel="stylesheet" href="style-4.css"> <link rel="stylesheet" href="style-5.css"> <link rel="stylesheet" href="style-6.css"> ... <script src="script-1"></script> <script src="script-2"></script> <script src="script-3"></script> <script src="script-4"></script> <script src="script-5"></script> <script src="script-6"></script> <script src="script-7"></script> <script src="script-8"></script> <script src="script-9"></script> <script src="script-10"></script> <script src="script-11"></script> <script src="script-12"></script> <script src="script-13"></script> <script src="script-14"></script> <script src="script-15"></script> ...
None
· Projetos mais complexos · Manutenção · DRY - Don't
Repeat Yourself
Tooling
None
None
· Linha de Comando · Automatizar tarefas · Transformar arquivos
· Controlar libs e plugins
gruntjs.com
gulpjs.com
bower.io
Manter CSS é chato!!!
Desculpem :(
Pré-Processadores
· Separar CSS por feature · Criar variáveis e funções
· Automatizar sprites etc
sass-lang.com
lesscss.org
compass-style.org
JavaScript com novas features
ES2015 (ES6)
// Antes var fn = function (x) { return x
+ 1; }; // Depois const fn = (x) => x + 1
Navegadores não suportam totalmente a nova versão
babeljs.io
Modularizar aplicações web se tornou uma solução viável
webpack.github.io
Componentizar interfaces surgiu como uma nova abordagem
polymer-project.org
facebook.github.io/react
· Testes · Acessibilidade · Meta Data
Comunidade
html5rocks.com
jsrocks.org
maujor.com
Eventos
braziljs.org/conf
frontinsm.com.br
Obrigado! @taltk9