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
Buzzvil
May 12, 2021
Programming
0
180
Draw a page with SPA
By May
Buzzvil
May 12, 2021
Tweet
Share
More Decks by Buzzvil
See All by Buzzvil
220903_GFS
buzzvil
0
400
Git 해부하기 2 + 3
buzzvil
0
29
Metastable Failure
buzzvil
0
190
Git 해부하기
buzzvil
0
36
Introduction to Plate Solving
buzzvil
0
21
Airbnb Minerva
buzzvil
0
260
Shape up 방법론
buzzvil
0
880
Buzzvil Billing Data Pipeline
buzzvil
0
500
Journey of Dash's release-cycle
buzzvil
0
150
Other Decks in Programming
See All in Programming
OSSで起業してもうすぐ10年 / Open Source Conference 2024 Shimane
furukawayasuto
0
110
タクシーアプリ『GO』のリアルタイムデータ分析基盤における機械学習サービスの活用
mot_techtalk
6
1.8k
Creating a Free Video Ad Network on the Edge
mizoguchicoji
0
130
Micro Frontends Unmasked Opportunities, Challenges, Alternatives
manfredsteyer
PRO
0
140
Functional Event Sourcing using Sekiban
tomohisa
0
110
エンジニアとして関わる要件と仕様(公開用)
murabayashi
0
320
Laravel や Symfony で手っ取り早く OpenAPI のドキュメントを作成する
azuki
2
130
rails new flags - `rails new` のフラグから Rails を構成するコンポーネントの変遷をザックリ眺める
snaka
0
1.8k
Jakarta EE meets AI
ivargrimstad
0
380
TypeScriptでライブラリとの依存を限定的にする方法
tutinoko
3
760
デザインパターンで理解するLLMエージェントの作り方 / How to develop an LLM agent using agentic design patterns
rkaga
9
1.7k
Tauriでネイティブアプリを作りたい
tsucchinoko
0
380
Featured
See All Featured
Teambox: Starting and Learning
jrom
133
8.8k
How GitHub (no longer) Works
holman
310
140k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
Navigating Team Friction
lara
183
14k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.9k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Done Done
chrislema
181
16k
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
Producing Creativity
orderedlist
PRO
341
39k
YesSQL, Process and Tooling at Scale
rocio
169
14k
Music & Morning Musume
bryan
46
6.2k
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