【Next.js】図で理解するPre-rendering。SSGとSSRの違い

【Next.js】 図で理解するPre-rendering。 SSGとSSRの違い フロントエンド
スポンサーリンク

はじめに

ぴんくうさぎ
ぴんくうさぎ

Next.jsを勉強し始めたけど、

SSG、SSRの違いがよくわからない!!

本記事では、SSG、 SSRの違いについて分かりやすく解説しています。

Pre-rendering(プリレンダリング)とは?

SSG、SSRの前に基礎知識であるPre-renderingについて解説します。
Pre-renderingとは事前にHTMLを生成し、レンダリングすることを言います。


ReactなどのSPAアプリケーションでは、レンダリングはユーザーのページアクセス時に行われます。

一方で、Pre-renderingをしているページであれば事前に生成しているHTMLファイルを出力するので、表示速度が速くなります。図で書くとこんな感じです。

Next.jsはデフォルトで全ページに対してPre-renderingを行います。

Pre-rendering

Pre-renderingは2種類に分けられ、それが本記事のテーマである「SSG」「SSR」です。

SSG

SSGとは?

SSGはStatic Site Generatorの略で日本語で「静的生成」です。

SSG


SSGはHTMLがアプリケーションのビルド時に1度だけ生成され、各リクエストに対して再利用されます。生成されたHTMLをユーザーに返すのでパフォーマンスが高くなります。
公式では基本的には、SSGを使用することを推奨しています。

使用例

SSGはビルド時に1度だけレンダリングを行います。そのため、ビルド後に変更する必要がないページに利用されます。

  • ブログ記事
  • Q&A、問い合わせページ
  • 一覧画面

SSR

SSRとは?

SSRはServer Side Rendering(サーバーサイドレンダリング)の略です。

SSR


SSRはクライアントからのリクエストの度にHTMLを生成します。リクエストの度にHTMLを生成するので、SSGに比べるとパフォーマンスが悪くなります。

使用例

SSRはユーザーのリクエストによって表示内容が変わるページに使用します。

  • ユーザー更新画面
  • SNSのタイムライン

終わりに

本記事はここまでとなります。

ご覧いただきありがとうございました。ご指摘等がございましたら頂けますと嬉しいです。
引き続き、プログラミングについて定期的に発信していきますのでよろしくお願いします!
また、もしよろしければtwitterもフォローしていただけると嬉しいです!🐢

コメント