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
Scaling React Applications
Search
Stepan Parunashvili
June 02, 2016
Technology
120
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Scaling React Applications
On Scaling React Applications, at Applicative 2016
Stepan Parunashvili
June 02, 2016
More Decks by Stepan Parunashvili
See All by Stepan Parunashvili
Universal Applications
stopachka
0
90
Engineering Growth
stopachka
0
73
Universal Applications
stopachka
1
100
ES2015 & React
stopachka
0
73
ES2015
stopachka
0
78
Other Decks in Technology
See All in Technology
Reliability in the Age of AI: Engineering for AI Velocity
rrreeeyyy
0
120
非定型業務をAI slackbotで自動化する ~ 社内要望を自動壁打ちするbotを作った ~/automating-ad-hoc-work-with-ai-slackbot
shibayu36
0
550
生成 AI × MCP で切り拓く次世代 SRE!自律型運用への挑戦と開発者体験の進化
_awache
0
190
AmazonRoute 53ではじめてのドメイン取得!HTTPS化までの道のりを整理してみた
usanchuu
3
120
Socrates × Looker 〜セマンティックレイヤーで進化するデータ分析エージェント〜
hanon52_
3
1.9k
2026.06.13_AI時代に事業会社が「SIer出身エンジニア」を求める理由 / Why Businesses Seek Engineers with a System Integrator Background in the AI Era
jumtech
0
990
2026TECHFRESH畢業分享會 - 原生還是跨平台? App 開發踩坑實錄
line_developers_tw
PRO
0
370
EventBridge Connection
_kensh
5
680
AI活用を推進するために ファインディが下した、一つの小さな決断
starfish719
0
280
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
1.9k
NAB Show 2026 動画技術関連レポート / NAB Show 2026 Report
cyberagentdevelopers
PRO
0
140
製造業のクラウド活用最適解〜AI,DXを加速するデータ基盤の作り方〜
hamadakoji
0
430
Featured
See All Featured
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
720
Measuring & Analyzing Core Web Vitals
bluesmoon
9
860
Marketing to machines
jonoalderson
1
5.4k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
Site-Speed That Sticks
csswizardry
13
1.2k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
65
55k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
300
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
270
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
140
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
56k
Transcript
On Scaling React Applications Stepan Parunashvili 1
@stopachka www.stepanp.com 2
3 Scaling React Applications?
4 Scaling React Applications?
Scaling Your Team 5
6 # engineers output
7 # engineers output
8 # engineers output
9 # engineers output
Scaling Your Product 10
11 LOC # features
12 LOC # features rewrite
13 LOC # features
Goal: Scale Frontend 14
Why React? 15
16
...2015 17
...2014 18
...2013 19
...2012 20
...2011 21
2010 22
23
24 v0.1.0
25
26
27
28
29
30
increment append, decrement, replace 31
Now... 32
33
34
35
36
37
Problem: Keep the DOM in Sync 38
39
40
41
42
2011... 43
2012... 44
2013 45
46
47
48
declarative 49
50
composable 51
52
cohesive 53
54
declarative composable cohesive 55
What's next? 56
57
58
59
How do we do this? 60
Container Components 61
62 props @huang47
63 FooContainer
64 FooContainer Foo
65 FooContainer Foo handle data ui logic
66
Why? 67
68 Container Components • manage data
69 Container Components • manage data • ui logic
70 Container Components • manage data • ui logic •
reusable
71 Container Components • manage data • ui logic •
reusable • tests needed
72 UI Components • manage data • ui logic •
reusable • tests needed
73
74
75
76
77
78
79
80
timeout/retry 81
timeout/retry batch 82
timeout/retry batch filter params 83
84
85
86
87
88
89
90
91
Expose UI Components 92
93
94
95 UI Component
96 container container
* Works best with Redux 97
98
99
100 Containers to Manage Data Expose UI Components Keep a
single app state
What's next? 101
102
103 Step: Action Fired
104 Step: Diff Virtual DOM
105 Step: Apply changeset
106 Step: Diff Virtual DOM
107 Step: Diff Virtual DOM :0
None
None
None
None
None
1 year later... 113
1 year later... 114
None
ImmutableJS 116
None
None
None
None
None
Structural Sharing 122
None
None
Robust by Default 125
None
None
None
None
None
Records 131
None
None
None
None
What's next? 136
HOC 137
None
Implicit Contracts 139
Implicit Contracts State Clashes 140
Implicit Contracts State Clashes Performance Issues 141
None
None
Push difficulties towards the core 144
On JS Fatigue 145
Stick to Principles 146
Could this be a paradigm shift? 147
Could this level the playing field? 148
Could this reduce iteration time? 149
For now, 150
Use Container Components Use Immutable Data Use FP 151
Bonus: relay, redux-saga css-modules 152
Thank you :) 153