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
80
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
インフラをつくるとはどういうことなのか、 あるいはPlatform Engineeringについて
nwiizo
5
2.6k
偶然 × 行動で人生の可能性を広げよう / Serendipity × Action: Discover Your Possibilities
ar_tama
1
1.2k
Swiftの “private” を テストする / Testing Swift "private"
yutailang0119
0
130
開発組織のための セキュアコーディング研修の始め方
flatt_security
3
2.5k
コンピュータビジョンの社会実装について考えていたらゲームを作っていた話
takmin
0
130
PHPで印刷所に入稿できる名札データを作る / Generating Print-Ready Name Tag Data with PHP
tomzoh
0
120
AI エージェント開発を支える MaaS としての Azure AI Foundry
ryohtaka
6
590
スタートアップ1人目QAエンジニアが QAチームを立ち上げ、“個”からチーム、 そして“組織”に成長するまで / How to set up QA team at reiwatravel
mii3king
2
1.5k
ホワイトボードチャレンジ 説明&実行資料
ichimichi
0
130
依存パッケージの更新はコツコツが勝つコツ! / phpcon_nagoya2025
blue_goheimochi
1
120
デスクトップだけじゃないUbuntu
mtyshibata
0
230
2.5Dモデルのすべて
yu4u
2
890
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
223
9.3k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
GitHub's CSS Performance
jonrohan
1030
460k
How to Ace a Technical Interview
jacobian
276
23k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Optimizing for Happiness
mojombo
376
70k
Faster Mobile Websites
deanohume
306
31k
Code Reviewing Like a Champion
maltzj
521
39k
Bootstrapping a Software Product
garrettdimon
PRO
306
110k
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