Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Scaling React Applications
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Stepan Parunashvili
June 02, 2016
Technology
130
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
100
Engineering Growth
stopachka
0
84
Universal Applications
stopachka
1
110
ES2015 & React
stopachka
0
83
ES2015
stopachka
0
88
Other Decks in Technology
See All in Technology
事業課題から技術的負債に向き合う
sansantech
PRO
2
2.4k
Antigravity SDK for the Java Developer
glaforge
0
210
認知負荷を吸収し、プロダクトをまたぐPR Preview基盤の設計事例
taiki45
2
330
AI Agent入門〜今更聞けないAgentの話〜
hiromimaganuma
0
120
AgentCore Runtime上にAgentic Coding基盤を構築・展開する際の設計ポイントと限界点 / Design considerations and limitations when building an agentic coding platform on AgentCore Runtime
har1101
6
760
負債のメタファと2026年 / Debt Metaphor in Agentic Engineering Age 202609 Edition
twada
PRO
13
7.5k
AIに賢く動いてもらうためのコンテキスト〜Snowflake女子会 vol.8
snowwmn0824
0
180
AIに任せた品質は、誰が見立てるのか - AI時代のテストマネジメント
nakanao
3
3.1k
GitHub Agentic Workflows を触ってみる
htkym
2
640
「どのログを見ればいい?」 から始めた サーバーレス障害解析
y_waka1
1
150
AIは推し活である。
kurazuuuuuu
2
980
C#コードの結合を可視化する Roslyn解析による設計改善と リファクタリング判断
dora56
0
740
Featured
See All Featured
Building Applications with DynamoDB
mza
96
7.2k
Done Done
chrislema
187
17k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
42k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
530
Building Adaptive Systems
keathley
44
3.2k
A designer walks into a library…
pauljervisheath
211
25k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Site-Speed That Sticks
csswizardry
13
1.5k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
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