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
Micro frontend and web components
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Yas
June 19, 2019
Programming
130
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Micro frontend and web components
Yas
June 19, 2019
More Decks by Yas
See All by Yas
Web performance - Browser APIs
yashints
0
160
How cheap serverless realli is?
yashints
0
130
Tensorflowjs 💝 AI
yashints
0
80
JavaScript & AI, V2
yashints
0
150
Machine learning & JavaScript, no you're not dreaming
yashints
1
140
WebAssembly's post MVP future
yashints
0
85
docker for web developers
yashints
0
460
Other Decks in Programming
See All in Programming
【やさしく解説 設計編・中級 #1】一つの車に、運転手は一人 ~ある倉庫システムの事例から~
panda728
PRO
0
200
テーブルをDELETEした
yuzneri
0
140
PostgreSQL 18で考えるUUID主キー
kazuhiro1982
0
460
FDEが実現するAI駆動経営の現在地
gonta
2
270
Go言語とトイモデルで学ぶTransformerの気持ち / fukuokago23-transformer
monochromegane
0
160
壊れたパーサから始める関数型設計と構成的なパーサ #fp_matsuri
raiga0310
2
450
人間の目はかわらない、だからJPEGは30年もつ
yuzneri
12
18k
Android CLI
fornewid
0
210
ドリフトを絶対に許さない(?)CDK運用 / CDK Ops with Zero Tolerance for Drifts (?)
akihisaikeda
1
170
進化を続けるGo toolsの現在地 / The Current State of Ever-Evolving Go Tools
hond0413
0
150
torikago - Ruby::Boxで照らすモジュラモノリスの実行境界
se4weed
1
340
komatsuna「分散システムにおけるバグ分析手法」
komatsunaqa
0
240
Featured
See All Featured
How to build a perfect <img>
jonoalderson
1
5.9k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
680
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
270
[SF Ruby Conf 2025] Rails X
palkan
2
1.2k
It's Worth the Effort
3n
188
29k
How GitHub (no longer) Works
holman
316
150k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Automating Front-end Workflow
addyosmani
1370
210k
Building the Perfect Custom Keyboard
takai
2
830
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.2k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
Transcript
Microapps Web Components @yashints yashints yashints
Microapps Web Components @yashints yashints yashints
yashints
yashints Agenda ▪ Intro ▪ Core ideas ▪ Meet Ali
and her team ▪ The issue ▪ Trials ▪ Final solution
Lead consultant @Readify Yaser Adel Mehraban @yashints Almond croissant addict
cleverly disguised as a web developer yashints.dev dev.to/yashints
yashints I a good monolith
yashints “ Don’t even consider microservices unless you have a
system that’s too complex to manage as a monolith. Martin Fowler
yashints “ Don’t even consider micro frontend unless you can
vertically slice your system to enable your teams to act independently. Me
yashints Core ideas ▪ Development speed ▪ Autonomous teams ▪
Customer focus ▪ Technology agnostic
yashints Product owner CarZila
yashints The issue Data Layer Business Layer User Interface
yashints Technology agnostic Independent deployment Team ownership Develop independently Fast
loading Smooth user interaction Sharing state Corporate identity Run independently Modular Native support
yashints First try User Interface Search Insight Test Drive Order
Payment Inventory
yashints Technology agnostic Independent deployment Team ownership Develop independently Fast
loading Smooth user interaction Sharing state Corporate identity Run independently Modular Native support
yashints Vision Search Insight Test Drive Order Payment Inventory Frontend
Backend Data store
yashints If you want to go fast, go alone. If
you want to go far, go together.
yashints First attempt Hyperlinks
yashints Hyperlinks Search Order Search.html order.html
yashints Fast loading Native support Team ownership Develop independently Run
independently Technology agnostic Independent deployment Corporate identity Sharing state Modular Smooth user interaction
yashints Integration vis composition ▪ Build time ▪ Run time
on client side ▪ Run time on server side
yashints Build time
yashints Build time { Search } { Insight } {
Test Drive } { Order } { Payment } { Inventory } Build Bundle
yashints Fast loading Native support Team ownership Develop independently Technology
agnostic Independent deployment Run independently Corporate identity Sharing state Modular Smooth user interaction
yashints Server Side composition
yashints SSI (Server Side Includes)
yashints SSI (Server Side Include)
yashints ESI (Edge Side Includes) Get Get Order
yashints Fast loading Native support Team ownership Develop independently Technology
agnostic Independent deployment Run independently Corporate identity Sharing state Modular Smooth user interaction
yashints Client Side composition
yashints IFrames
yashints Fast loading Native support Team ownership Develop independently Technology
agnostic Independent deployment Run independently Corporate identity Sharing state Modular Smooth user interaction
yashints Web components
yashints Custom Elements Shadow DOM ES6 Modules HTML Templates
yashints API
yashints API
yashints API
yashints App Shell
yashints Framework support
yashints Angular Elements Vue CLI Manual Community Soluttions Lit
yashints Fast loading Native support Team ownership Develop independently Technology
agnostic Independent deployment Run independently Corporate identity Sharing state Modular Smooth user interaction
yashints Demo
yashints Real use cases ▪ Migrate a large app to
another framework ▪ Fix a bug in one app and deploy independently ▪ Reuse an entire app ▪ And more…
yashints Taking balanced decisions is the secret ingredient for success
yashints
yashints
yashints References ▪ The demo is on my GitHub repo
yas.fyi/2FeIrI3 ▪ Slides yas.fyi/2Kspzt8 ▪ https://micro-frontends.org/ ▪ A good reference list yas.fyi/2KXHaZD
yashints Questions?