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
Draw a page with SPA
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Buzzvil
May 12, 2021
Programming
230
0
Share
Draw a page with SPA
By May
Buzzvil
May 12, 2021
More Decks by Buzzvil
See All by Buzzvil
220903_GFS
buzzvil
0
610
Git 해부하기 2 + 3
buzzvil
0
63
Metastable Failure
buzzvil
0
340
Git 해부하기
buzzvil
0
77
Introduction to Plate Solving
buzzvil
0
70
Airbnb Minerva
buzzvil
0
490
Shape up 방법론
buzzvil
0
1.1k
Buzzvil Billing Data Pipeline
buzzvil
0
700
Journey of Dash's release-cycle
buzzvil
0
260
Other Decks in Programming
See All in Programming
AIチームを指揮するOSS「TAKT」活用術 / How to Use “TAKT,” an OSS Tool for Orchestrating AI Teams
nrslib
5
620
Why Laravel apps break—Mastering the fundamentals to keep them maintainable
kentaroutakeda
1
180
CSC307 Lecture 17
javiergs
PRO
0
230
Kubernetesを使わない環境にもCloud Nativeなデプロイを実現する / Enabling Cloud Native deployments without the complexity of Kubernetes
linyows
3
540
柔軟なPDFレイアウトエディタを支える型システム設計 — Discriminated UnionとConditional Typeの実践
minako__ph
3
570
ローカルLLMでどこまでコードが書けるか / How much code can be written on a local LLM
kishida
2
410
TSKaigi 2026 TypeScriptバックエンドのオブザーバビリティ戦略 — Datadog × NestJSの実践
taiseiyamamotoan
1
180
CLIであることを活かしたGitHub Copilot CLI活用術 / GitHub Copilot CLI Pro Tips & Tricks
nao_mk2
1
970
Composerを使ったサプライチェーン攻撃の様子を眺めてみる #phpstudy
o0h
PRO
2
130
AIエージェントの隔離技術の徹底比較
kawayu
0
430
1人1案件のプロダクトエンジニア時代に、"プロセス監督"としてチャレンジしたこと
non0113
0
300
Modding RubyKaigi for Myself
yui_knk
0
430
Featured
See All Featured
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
120
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
540
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.5k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
190
Into the Great Unknown - MozCon
thekraken
41
2.5k
Tell your own story through comics
letsgokoyo
1
930
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.3k
First, design no harm
axbom
PRO
2
1.2k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.9k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
190
Google's AI Overviews - The New Search
badams
0
1k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
270
Transcript
Copyright ⓒ All Right Reserved by Buzzvil Draw a page
w/SPA! Ad Product Team May Min 2021.05.12 Server Side Rendering & Client Side Rendering
Copyright ⓒ All Right Reserved by Buzzvil Terms SPA SSR
CSR TTFB FP FCP TTI
Copyright ⓒ All Right Reserved by Buzzvil Terms SPA: Single
Page Application SSR: Server Side Rendering CSR: Client Side Rendering TTFB: Time to First Byte FP: First Paint FCP: First Contentful Paint TTI: Time to Interactive
Copyright ⓒ All Right Reserved by Buzzvil SPA? Single Page
Application multiple pages on one page!
Copyright ⓒ All Right Reserved by Buzzvil SPA? Single Page
Application multiple pages on one page!
Copyright ⓒ All Right Reserved by Buzzvil Rendering History
Copyright ⓒ All Right Reserved by Buzzvil Rendering?
Copyright ⓒ All Right Reserved by Buzzvil Rendering? HTML CSS
JavaScript DOM CSSOM Render Tree Layout Paint Composite
Copyright ⓒ All Right Reserved by Buzzvil Static Rendering? (1990s)
Static Rendering CSS + JS + HTML => Ready to render HTML Client: Request Page! Sever: Respond Page!
Copyright ⓒ All Right Reserved by Buzzvil Era of Mobile:
Limitation of Static Rendering ~Page 1 w/SSR~ Client: Request Page! Sever: Respond Page! ~Page 2 w/SSR~ Client: Request Page! Sever: Respond Page!
Copyright ⓒ All Right Reserved by Buzzvil Era of Mobile:
Limitation of Static Rendering ios, aos: I need to use native UI
Copyright ⓒ All Right Reserved by Buzzvil Ajax (2005)
Copyright ⓒ All Right Reserved by Buzzvil Ajax? Asynchronous Javascript
and Xml
Copyright ⓒ All Right Reserved by Buzzvil Ajax? Asynchronous Javascript
and Xml XML CSV JSON ...
Copyright ⓒ All Right Reserved by Buzzvil SPA! Single Page
Application Fetching data seamlessly!
Copyright ⓒ All Right Reserved by Buzzvil SPA! Single Page
Application Fetching data seamlessly!
Copyright ⓒ All Right Reserved by Buzzvil SPA! Single Page
Application Fetching data seamlessly!
Copyright ⓒ All Right Reserved by Buzzvil SPA! Single Page
Application Fetching data seamlessly!
Copyright ⓒ All Right Reserved by Buzzvil SPA! Single Page
Application Fetching data seamlessly!
Copyright ⓒ All Right Reserved by Buzzvil SPA! Single Page
Application Fetching data seamlessly!
Copyright ⓒ All Right Reserved by Buzzvil What makes (
) possible? Module bundler. like Webpack. &
Copyright ⓒ All Right Reserved by Buzzvil CSR? Client Side
Rendering HTML Client: Browser do every rendering! (All logic, data fetching, templating and routing) Sever: Respond API call! CSS JS
Copyright ⓒ All Right Reserved by Buzzvil CSR, meaningless first
TTFB <div id=root />
Copyright ⓒ All Right Reserved by Buzzvil CSR, TTI >>>
FCP ? undefined
Copyright ⓒ All Right Reserved by Buzzvil CSR, bad SEO
?
Copyright ⓒ All Right Reserved by Buzzvil SSR? Server Side
Rendering CSS + JS + HTML => Ready to render HTML Client: Request Page! Sever: Respond Page!
Copyright ⓒ All Right Reserved by Buzzvil SSR, Flickering Server
Side Rendering Flickering issue!
Copyright ⓒ All Right Reserved by Buzzvil SSR, Flickering Server
Side Rendering Flickering issue!
Copyright ⓒ All Right Reserved by Buzzvil SSR, Flickering Server
Side Rendering Flickering issue!
Copyright ⓒ All Right Reserved by Buzzvil SSR, Slow TTFB
Server Side Rendering
Copyright ⓒ All Right Reserved by Buzzvil from SSR to
CSR https://developers.google.com/web/updates/2019/02/rendering-on-the-web
Copyright ⓒ All Right Reserved by Buzzvil Thank you Ad
Product Team May Min 2021.05.12