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
78
Isomorphism in web apps
jeromegn
January 27, 2014
Tweet
Share
More Decks by jeromegn
See All by jeromegn
DocumentUp @ JSMontreal
jeromegn
1
190
Other Decks in Technology
See All in Technology
誰も全体を知らない ~ ロールの垣根を超えて引き上げる開発生産性 / Boosting Development Productivity Across Roles
kakehashi
1
220
SSMRunbook作成の勘所_20241120
koichiotomo
2
130
Terraform未経験の御様に対してどの ように導⼊を進めていったか
tkikuchi
2
430
CysharpのOSS群から見るModern C#の現在地
neuecc
2
3.2k
SREによる隣接領域への越境とその先の信頼性
shonansurvivors
2
520
Python(PYNQ)がテーマのAMD主催のFPGAコンテストに参加してきた
iotengineer22
0
470
Adopting Jetpack Compose in Your Existing Project - GDG DevFest Bangkok 2024
akexorcist
0
110
B2B SaaSから見た最近のC#/.NETの進化
sansantech
PRO
0
750
Engineer Career Talk
lycorp_recruit_jp
0
160
AIチャットボット開発への生成AI活用
ryomrt
0
170
100 名超が参加した日経グループ横断の競技型 AWS 学習イベント「Nikkei Group AWS GameDay」の紹介/mediajaws202411
nikkei_engineer_recruiting
1
170
リンクアンドモチベーション ソフトウェアエンジニア向け紹介資料 / Introduction to Link and Motivation for Software Engineers
lmi
4
300k
Featured
See All Featured
A better future with KSS
kneath
238
17k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
120
Facilitating Awesome Meetings
lara
50
6.1k
Happy Clients
brianwarren
98
6.7k
Intergalactic Javascript Robots from Outer Space
tanoku
269
27k
The Cult of Friendly URLs
andyhume
78
6k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Side Projects
sachag
452
42k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
410
The Pragmatic Product Professional
lauravandoore
31
6.3k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Done Done
chrislema
181
16k
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