Closed3
SPA,SSR,SSG,ISRとか色々
色々読んだけどこれが一番わかりやすかった
SPA
特徴
- ブラウザでAPIを叩き、データを取得してDOMを構築して差分をレンダリング
メリット
- ページごとにリクエストを送らないためページ遷移が高速
- ビルド済のHTMLとJSファイルがホスティングサーバーにあれば動く
デメリット
- 初期ローディングは時間がかかる
- SEOでは不利な可能性もある
SSR
特徴
ブラウザ上で初期データをレンダリングするのではなく、サーバー側でAPIを叩き、レンダリングまで行ってからHTMLファイルを返却する
メリット
- コンテンツ表示までの時間が早い(ブラウザ上で初期レンダリングを行わないから)
- SEOに有利
デメリット
- Node.jsサーバーを実行できる環境が必要(NextやNuxtなどのフレームワークを利用)
- サーバー側の負荷が増加する
SSG
アプリのビルド時にAPIgからデータを取得して、HTMLファイルを生成する。
サーバーへのリクエストがあると、ビルド時に生成したHTMLファイルを返却する。リクエスト時でなくビルド時にAPIやデータベースからデータを取得し、レンダリングを行う。(ビルド時に事前にHTMLファイルレンダリングしておくことをプレレンダリング(事前描画)という。
メリット
- 静的サイトを配信するので、パフォーマンスが向上
- SPAと比較してSEOが向上する
- HTMLとJSファイルのみがホスティングサーバーにあれば、ページ配信が可能
デメリット
-
ページ量が多いWebサイトには向かない
-
ページ量が多くなればなるほどビルド時間が遅くなる
-
更新頻度の高いサイトには不向き(データの更新ごとにビルドを行う)
ISR
インクリメンタル静的再生成
SSGの挙動に加えて、一定時間ごとにバックグラウンドでデータの再取得及びページの再レンダリングを行、HTMLを再生成する手法。Next.js 9.5から導入。
間違えた
これが一番わかりやすかったんだったこのスクラップは2024/06/02にクローズされました