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
Model, View, Whatever.
Search
Dominic Barker
January 08, 2015
Programming
0
130
Model, View, Whatever.
Some ideas to help you build complex javascript applications that don't ruin the internet.
Dominic Barker
January 08, 2015
Tweet
Share
More Decks by Dominic Barker
See All by Dominic Barker
Introduction to functional programming with Javascript
dakuan
0
56
Atomic Architecture
dakuan
3
160
Somewhat Stylish
dakuan
1
61
Other Decks in Programming
See All in Programming
Patterns of Patterns (and why we need them)
denyspoltorak
0
100
DartASTとその活用
sotaatos
2
140
AIエージェントでのJava開発がはかどるMCPをAIを使って開発してみた / java mcp for jjug
kishida
4
730
Verilator + Rust + gRPC と Efinix の RISC-V でAIアクセラレータをAIで作ってる話 RTLを語る会(18) 2025/11/08
ryuz88
0
360
「正規表現をつくる」をつくる / make "make regex"
makenowjust
1
670
Evolving NEWT’s TypeScript Backend for the AI-Driven Era
xpromx
0
110
AI 時代だからこそ抑えたい「価値のある」PHP ユニットテストを書く技術 #phpconfuk / phpcon-fukuoka-2025
shogogg
1
570
Agentに至る道 〜なぜLLMは自動でコードを書けるようになったのか〜
mackee
5
1.8k
歴史から学ぶ「Why PHP?」 PHPを書く理由を改めて理解する / Learning from History: “Why PHP?” Rediscovering the Reasons for Writing PHP
seike460
PRO
0
160
AI駆動開発ライフサイクル(AI-DLC)のホワイトペーパーを解説
swxhariu5
0
1.2k
ノーコードからの脱出 -地獄のデスロード- / Escape from Base44
keisuke69
1
750
全員アーキテクトで挑む、 巨大で高密度なドメインの紐解き方
agatan
4
5.1k
Featured
See All Featured
Making Projects Easy
brettharned
120
6.5k
Optimizing for Happiness
mojombo
379
70k
Scaling GitHub
holman
463
140k
The Language of Interfaces
destraynor
162
25k
Designing for humans not robots
tammielis
254
26k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Building a Scalable Design System with Sketch
lauravandoore
463
33k
Stop Working from a Prison Cell
hatefulcrawdad
272
21k
How to Ace a Technical Interview
jacobian
280
24k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Facilitating Awesome Meetings
lara
57
6.6k
Transcript
Model, View, Whatever. *Document Object Model - not me! or
how I learned to stop worrying and love the DOM*
We ♥ Single Page Applications
• Complex UI • Feel really fast • Comparable to
native mobile apps • Can work offline • Cool MVC MVW frameworks galore
But…
None
• Javascript :( • Initial page load • Duplicated code
• < noscript /> • IE <9 Internet Explorer • Deep linking • Error handling • SEO
Another way is possible.
None
• Render a full working web page on the server
• For all routes, not just the first hit of index page • Bind SPA afterwards • SPA uses the same markup • Client and server use same templates
• Real forms! • Real links! • No duplicated templates!
• No white screen of death! • Error recovery for free! • Cheap integration tests! • Maximum dev gibberish: Isomorphic Application
None
Dom Barker Software Engineer @ Quill Content @mostlyharmlessd www.dombarker.co.uk www.github.com/dakuan
www.npmjs.com/~dakuan