Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Como modularizar seu front-end sem depender de ...
Search
Juliana Negreiros
September 28, 2019
Technology
0
89
Como modularizar seu front-end sem depender de um framework
Rancho Dev 2019 (28/09/2019)
Juliana Negreiros
September 28, 2019
Tweet
Share
More Decks by Juliana Negreiros
See All by Juliana Negreiros
Um guia para começar no mundo Front End
juunegreiros
0
340
Desmistificando a área de TI
juunegreiros
0
72
Como otimizar seu site com lighthouse e core web vitals
juunegreiros
0
430
Introdução ao Git
juunegreiros
0
55
Webpacker e a Jornada do Heroi
juunegreiros
0
24
Sopa de Letrinhas CSS | Alphabet soup CSS
juunegreiros
1
78
Pensando logicamente: introdução à lógica de programação | Thinking logically: introduction to programming logic
juunegreiros
0
63
Carreiras em TI
juunegreiros
0
56
Javascript, um menino serelepe | Javascript, a serelepe guy
juunegreiros
0
270
Other Decks in Technology
See All in Technology
ActiveJobUpdates
igaiga
1
240
2025-12-18_AI駆動開発推進プロジェクト運営について / AIDD-Promotion project management
yayoi_dd
0
130
Sansanが実践する Platform EngineeringとSREの協創
sansantech
PRO
2
950
シニアソフトウェアエンジニアになるためには
kworkdev
PRO
3
200
Fashion×AI「似合う」を届けるためのWEARのAI戦略
zozotech
PRO
2
950
S3を正しく理解するための内部構造の読解
nrinetcom
PRO
3
190
Power of Kiro : あなたの㌔はパワステ搭載ですか?
r3_yamauchi
PRO
0
190
Amazon Quick Suite で始める手軽な AI エージェント
shimy
0
890
SQLだけでマイグレーションしたい!
makki_d
0
1.1k
Kiro を用いたペアプロのススメ
taikis
2
810
アプリにAIを正しく組み込むための アーキテクチャ── 国産LLMの現実と実践
kohju
0
120
re:Invent 2025 ~何をする者であり、どこへいくのか~
tetutetu214
0
230
Featured
See All Featured
Writing Fast Ruby
sferik
630
62k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
0
67
From π to Pie charts
rasagy
0
86
Amusing Abliteration
ianozsvald
0
63
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandezseo
1
1.3k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.2k
Fireside Chat
paigeccino
41
3.7k
Making Projects Easy
brettharned
120
6.5k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Google's AI Overviews - The New Search
badams
0
860
Code Review Best Practice
trishagee
74
19k
Transcript
Como modularizar seu front-end sem depender de um framework
Juliana Negreiros @juunegreiros Alura Rails Girls Sorocaba SorocabaJS
Elaine Mattos Quinto Github @elainemattos lastfm/tt @elainemattoss
Motivações
VanillaJS <3
Fundamento
Pensar em componentes
Pensar em módulos
O que vamos fazer?
Cores e música com o Simon
None
None
13 Componentização
Pensando em componentes
None
None
None
None
Componentização Independente Fácil integração Reutilização
Mãos na massa
Setup inicial Webpack Babel
Modularização
Frameworks
React Facebook Grandes empresas usando Lib
Angular Google Grandes empresas usando Legado
Vue Evan You Popularizando++
Comparações
Componente
Sound em Vanilla export default soundNumber => { const Sound
= document.createElement('audio') Sound.setAttribute('data-sound', soundNumber) Sound.innerHTML = `<source src='https://s3.amazonaws.com/freecodecamp/simonSound${soundNum ber}.mp3'></source>` return Sound }
Sound em React export default ({ soundNumber }) => {
const url = `https://s3.amazonaws.com/freecodecamp/simonSound${soundNumber}.mp3` return ( <audio> <source src={url} ></source> </audio> ) }
Sound em Angular @Component({ selector: 'sound', template: ` <audio [src]="'https://s3.amazonaws.com/freecodecamp/simonSound'
+ soundNumber + '.mp3'`"></audio> ` }) class SoundComponent { @Input() soundNumber }
Sound em Vue <template> <audio :src={path}></audio> </template> <script> export default
{ name: 'sound', props: { soundNumber: { type: Number } }, data() { return { path: `https://s3.amazonaws.com/freecodecamp/simonSound${props.soundNumber}.mp3` } } } </script>
Gerenciamento de estado
Handler de eventos
“ Conclusão 35
Thanks!