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
Isomorphism in web apps
Search
jeromegn
January 27, 2014
Technology
1
90
Isomorphism in web apps
jeromegn
January 27, 2014
Tweet
Share
More Decks by jeromegn
See All by jeromegn
DocumentUp @ JSMontreal
jeromegn
1
200
Other Decks in Technology
See All in Technology
OpenCensusと歩んだ7年間
bgpat
0
300
ストレージエンジニアの仕事と、近年の計算機について / 第58回 情報科学若手の会
pfn
PRO
4
940
20251027_マルチエージェントとは
almondo_event
1
510
Zero Trust DNS でより安全なインターネット アクセス
murachiakira
0
140
Kotlinで型安全にバイテンポラルデータを扱いたい! ReladomoラッパーをAIと実装してみた話
itohiro73
3
140
Observability — Extending Into Incident Response
nari_ex
2
710
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
2
210
累計5000万DLサービスの裏側 – LINEマンガのKotlinで挑む大規模 Server-side ETLの最適化
ldf_tech
0
120
様々なファイルシステム
sat
PRO
0
280
プレイドのユニークな技術とインターンのリアル
plaidtech
PRO
1
600
パフォーマンスチューニングのために普段からできること/Performance Tuning: Daily Practices
fujiwara3
2
180
ゼロコード計装導入後のカスタム計装でさらに可観測性を高めよう
sansantech
PRO
1
630
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
For a Future-Friendly Web
brad_frost
180
10k
Typedesign – Prime Four
hannesfritz
42
2.8k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
The Cult of Friendly URLs
andyhume
79
6.6k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Designing for Performance
lara
610
69k
Embracing the Ebb and Flow
colly
88
4.9k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
How to train your dragon (web standard)
notwaldorf
97
6.3k
Transcript
Isomorphic web app (īsəˈmôrfik) corresponding or similar in form and
relations.
Web app reusing code, logic and functionalities in both server
and client
Current paradigms
Server-side Rendering only Client SERVER Full HTML page GET/POST/PUT/DELETE data
PJAX Client SERVER Full HTML page GET/POST/PUT/DELETE data HTML FRAGMENT
Bind HTML fragments
CLIENT-HEAVY Client SERVER HTML LAYOUT WITHOUT DATA GET/POST/PUT/DELETE data Render
HTML from templates XML/JSON
Isomorphism
Client SERVER FULL HTML Attach views & Initialize app Codebase
First load SERVER Client N+1 load DATA SERVER Client Render & bind templates
Under the hood (using AirBnb’s rendr library) First Request GET
SERVER DATA source DATA Create model Cache data RENDER VIEW CLient attach backbone.view initialize application SECOND Request GET SERVER DATA source DATA HTML DATA Cache data CLient Create backbone.view
Pros • No CORS (++consistent support) • Blazing fast first
load • Almost entirely reusable codebase (less code)
Cons • New paradigms can be hard to grasp •
New technology can be buggy • Data source (API) and server network proximity