Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Ecossistema Front-End
Search
Thiago Alves Luiz
May 20, 2016
Programming
87
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
160
How to enjoy WebVR right now
devthiago
0
78
Inside the Web
devthiago
1
70
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
160
Testando o seu CSS
devthiago
0
150
Repense, Recrie... React
devthiago
0
82
O ecossistema Front-End
devthiago
0
200
Other Decks in Programming
See All in Programming
マイコン向けの軽量Ruby「PicoRuby」で各種デバイスを制御するネイティブアプリの実現手法
bash0c7
0
310
変化を抱擁するドキュメントの作り方 - ビジネスルール駆動開発がもたらす、コードとの新しい関係
ioki
2
130
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
230
{ Android | Kotlin } Gradle Plugin in 2026
ryunen344
1
300
Claude Codeを組織的に動かして月400PRを実現した話
happy_ryo
0
260
アクセシビリティから考える情報設計
high_g_engineer
0
350
初心者DevRelとして参加者だった私が、DevRel Talks!#2に登壇するまでにしてきたこと
sokohirai
0
360
GKE で Pod の見方を変えたら、スケールアウト時の挙動を真に捉えられた話
stkk
0
110
PHPプロジェクトの結合バランスを可視化する #php_night
kajitack
0
230
The Good Stuff, Not the Slop: Engineering High-Quality Android Apps with Modern AI Tooling
danybony
1
230
不幸な GC
chencmd
0
890
AIエージェント時代のコードレビューを設計する
nogu66
6
2.6k
Featured
See All Featured
Speed Design
sergeychernyshev
33
2.1k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
680
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
340
The Spectacular Lies of Maps
axbom
PRO
1
990
[RailsConf 2023] Rails as a piece of cake
palkan
59
7k
The untapped power of vector embeddings
frankvandijk
2
1.9k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
660
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
240
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
400
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
310
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
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