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
91
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
79
Inside the Web
devthiago
1
71
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
160
Repense, Recrie... React
devthiago
0
83
O ecossistema Front-End
devthiago
0
200
Other Decks in Programming
See All in Programming
個人開発者よ、Honoを使え(おじさんver)
tanahiro2010
2
250
golang-bob.pdf
iwatsukayura
0
130
AWSに止められる覚悟してますか?
morizo_1984
2
530
The Rails Doctrine Decade
koic
2
570
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
5
5.1k
APNsからLive Activityを開始する話
yumnumm
0
170
SalesForceを内製化!? ~ HR事業を支える顧客管理基盤のインフラを大公開 ~
oku053
0
170
機械に任せるテスト、人が見るテスト ⽣成AIで引き直した、運⽤保守フェーズの線引き
dske104
0
180
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
640
ジョジョの世界をXRで再現する
mofurune
0
150
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
1
170
Verilogで学ぶCPU自作入門
uyuki234
8
4.1k
Featured
See All Featured
The Spectacular Lies of Maps
axbom
PRO
1
1.1k
Typedesign – Prime Four
hannesfritz
42
3.2k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Done Done
chrislema
187
17k
It's Worth the Effort
3n
188
29k
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
260
Making the Leap to Tech Lead
cromwellryan
135
10k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.8k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
730
Tell your own story through comics
letsgokoyo
1
1.1k
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