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
Webレンダリングの変化とどれ使うん
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
yuyays
February 24, 2025
Technology
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Webレンダリングの変化とどれ使うん
LTにての発表したことです。
yuyays
February 24, 2025
More Decks by yuyays
See All by yuyays
racket言語解説
yuyays
0
120
akarenga_june.pdf
yuyays
0
93
LLMでBang( バング)検索
yuyays
0
120
快適なWeb体験を
yuyays
0
13
Vibe codingと私はバイブするん?
yuyays
0
24
Other Decks in Technology
See All in Technology
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.2k
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
5k
JavaScript 研修 (2026)
recruitengineers
PRO
2
630
モバイルアプリ開発概論2026
recruitengineers
PRO
6
670
QAエンジニア起点で進める、SmartHRにおける信頼性向上について
kaomi_wombat
1
150
MulticaとPi Coding Agentで、小規模OSSを30本同時運用した流れ
eiei114
0
130
【GCC2026】大規模言語モデルを活用した内製検索サービスの社内展開や業務活用
bandainamcostudios
PRO
0
270
Go 1.27 の標準パッケージに uuid が入った!のでいろいろ喋る / go_127_std_go_uuid
convto
2
320
システム思考で問題に対処する
yussak
0
340
私がブラウザを自作したくなった理由
supurazako
1
270
Bill One 開発エンジニア 紹介資料
sansan33
PRO
7
20k
猫付きpingコマンドを自作
uyuki234
0
260
Featured
See All Featured
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
480
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
660
Joys of Absence: A Defence of Solitary Play
codingconduct
1
440
Between Models and Reality
mayunak
4
390
Being A Developer After 40
akosma
91
590k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
780
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
770
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
170
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
420
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Transcript
Web レンダリングの変化とどれ使うん @AkarengaLT by yuyays
今日話すこと • CSR, SSR, SSR with Suspense, Server Islands などの説明と図解
• それぞれの得意な点や苦手な点 • じゃあ実際に問題解決をしているの か
CSR(Client side rendering): クライエントサイドレンダリン グとは • 最小限の HTML とタグつきの JavaScript
をクライアン トに送信 • ブラウザで JavaScript を実行してペ ー ジをレンダリ ング SSR(Serve side rendering): サ ー バ ー サイドレンダリングとは • サ ー バ ー 上でペ ー ジをレンダリング • HTML をクライアントに送信
• SSR モデルとたいだい同じであるが <Suspense> でかこ みコンポ ー ネント単位でサ ー バ
ー よりストリ ー ミングで きる SSR with Suspense(IsomophicSSR Server Island ( サ ー バ ー アイランド ) • SSR モデルと似ているがサ ー バ ー より送られる静 的 HTML が最小のサイズの js バンドルをもってそ こからハイドレ ー ションしていく
図解にて解説します z csr, ssr, ssr with suspense, server island の順で
ブラウザ サ ー バ ー example.com リクエスト html をかえす ex.
intex.html 1. すぐに静的 html をかえす 。 2. cache されているならそれを返す 。 html を読み込む JS バンドルを example.com/main.js をリクエス ト <!DOCTYPE html> <html lang="en"> <head> <title>My Static Page</title> </head> <body> <h1>Hello World!</h1> <!-- Bundler JS start --> <script src="scripts/main.js"></script> <!-- Bundler JS end --> </body> </html> Javascript バンドルのファイルをかえす JS ファイルを読み込む デ ー タを API などを通じてリクエストする デ ー タベ ー ス デ ー タを返す (json 等) 読み込み ( レンダリン グ ) 完成したペ ー ジをようやく表示する .!!!! CSR モデル
良い点 • ブラウザの中でのインタラクションが早くでき ること 例 )SSR モデルでは js ファイルが読み 込むまではマウスクリックなどのイベントリス
ナなどはできない • ペ ー ジ移動した際には新しいペ ー ジがすぐに表 示される 例 ) 全体のペ ー ジを移動するたびに ロ ー ドする必要がない
良くないかもしれない点 • Js バンドルのファイルが肥大であるなら 、 ペ ー ジをレンダリングするのに時間がかかる • パワ
ー がない端末はクライエントで処理を行う ので時間がかかる • ネットワ ー クにもよる • API などのリクエスト往復は時間がかかる
ブラウザ サ ー バ ー example.com リクエスト html をかえす ex.
intex.html html を読み込む JS バンドルを example.com/main.js をリクエス ト Javascript バンドルのファイルをかえす JS ファイルを読み込む デ ー タベ ー ス SSR モデル 完成したペ ー ジをようやく表示する .!!!!
良い点 • デ ー タが含んである html をクライエントにおく れる • SEO
の向上: 検索エンジンはコンテンツが最初 の HTML で利用可能であるため簡単にクロ ー ル しインデックスすることが可能
良くない点 • hydration (ハイドレ ー ション)の問題点として Js ファイルがクライエント側でそれを実行して DOM にイベントハンドラ
ー などのつけて html を インタラクティブにすること . しかし ,hydration を行うまではそれらの動作は できない .... • CDN に静的 html をおけないまたは vercel などに たよるしかない
SSR with Suspense(isomorphic SSR) • Suspense によりペ ー ジの各 々
こコンポ ー ネント をレンダリング可能にし , サ ー バ ー よりストリ ー ミングされる . • なのでペ ー ジを移動した際にはすぐにロ ー ドの スピ ー ナ ー などを表示できる
ブラウザ サ ー バ ー example.com リクエスト html をかえす ex.
intex.html html を読み込む JS バンドルを example.com/main.js をリクエス ト Javascript バンドルのファイルをかえす JS ファイルを読み込む デ ー タベ ー ス Isomophic SSR モデル
サ ー バ ー example.com/engineercafe リクエスト json 等を送る ブラウザ React
server runtime DB loading state 変化した部分の html を 送る 前の続き
• SSR モデルでは静的 html を CDN におけない CSR モデルでは CDN
に置けていたがリクエ ストにすぐ答えらたが 良くないかもしれない点
ブラウザ サ ー バ ー example.com リクエスト html をかえす ex.
intex.html json かえす html を読み込む JS バンドルを example.com/main.js をリクエスト ( ここがサ ー バ ー アイランドの部分) db 完成したペ ー ジを表示する .!!!! Server Island サ ー バ ー 静的 html を送り返す Astro server runtime server island の部分 の html とか えす
良い点 • 静的 html を cdn におけるので ssr モデルと比べる と設計が楽
• Javascript の量が少ないのでパフォ ー マンスも いい • React, Vue, Svelte など好きなフレ ー ムワ ー クを 使用可能
実際に問題解決してますか? • ただ単に複雑にエンジニアして , いらない問題をつくって 解いている? • Frontend framework なんでべつにフォ
ー ムとレンダリ ングなんだからなんでそんな複雑なの? • 学習コスト ? 新しい人雇わないといけないの? • また 2,3 年で消えるんでしょとか .... • frontend は宗教戦争がありすぎる ... 状態ライブラリから フレ ー ムワ ー クなどまで
• CSR は非常にインタラクティブなシングルペ ー ジアプ リケ ー ションを作成するという問題を解決しました • SSR
は CSR の SEO と初期ロ ー ド性能の問題に対処した • Isomorphic SSR は CSR と SSR の両方の利点を組み合わ せようとしています • Server Island は JS を最小化してパフォ ー マンスを最適 化しようとします 適したツ ー ルを使いましょう
• CSR : Gmail や Facebook のフロントエンドのような多くの SPA • SSR
: E コマ ー スサイト 、 コンテンツの多いプラットフォ ー ム • Isomophic SSR : Next.js を使ったサイト( TikTok のウェ ブアプリなど) • Server Island model : コンテンツに特化したサイトやブロ グ 使用例
問題によって最適な道具を使いましょう
• https://www.youtube.com/watch?v=Cifkb-ZVps4 • https://dev.to/this-is-learning/javascript-frameworks-heading-into-2025-hkb • https://hartofthemidlands.co.uk/2019/07/the-right-tool/ • https://www.touken-world.jp/tips/43381/ 参照
None