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
73
Isomorphism in web apps
jeromegn
January 27, 2014
Tweet
Share
More Decks by jeromegn
See All by jeromegn
DocumentUp @ JSMontreal
jeromegn
1
170
Other Decks in Technology
See All in Technology
Azure犬駆動開発の記録/GlobalAzureFukuoka2024_20240420
nina01
1
210
Terraformあれやこれ/terraform-this-and-that
emiki
8
1.4k
SIEMを用いて、セキュリティログ分析の可視化と分析を実現し、PDCAサイクルを回してみた
coconala_engineer
0
320
ゼロから始めるVue.jsコミュニティ貢献 / first-vuejs-community-contribution-link-and-motivation
lmi
1
130
競技としてのKaggle、役に立つKaggle
yu4u
3
1.5k
Google Cloud の AI を支える裏側のインフラを垣間見る!
maroon1st
0
350
ServiceNow Knowledge 24の歩き方 EYストラテジー・アンド・コンサルティング
manarobot
0
200
LLM開発・活用の舞台裏@2024.04.25
yushin_n
1
270
GrafanaMeetup_AmazonManagedGrafanaのアクセス制御機能とマルチテナント環境下でのアクセス制御について
daitak
0
230
JAWS-UG Bedrock Claude Night
yamahiro
3
610
地理空間データ可視化・解析・活用ソリューション Pacific Spatial Solutions (PSS)
pacificspatialsolutions
0
280
開発パフォーマンスを最大化するための開発体制
ham0215
2
410
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
16
3.9k
Raft: Consensus for Rubyists
vanstee
132
6.3k
Adopting Sorbet at Scale
ufuk
68
8.6k
The Brand Is Dead. Long Live the Brand.
mthomps
49
29k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
40
4.4k
Rebuilding a faster, lazier Slack
samanthasiow
73
8.2k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.6k
The MySQL Ecosystem @ GitHub 2015
samlambert
243
12k
Git: the NoSQL Database
bkeepers
PRO
422
63k
Fontdeck: Realign not Redesign
paulrobertlloyd
76
4.9k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
659
120k
GraphQLの誤解/rethinking-graphql
sonatard
50
9.2k
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