カテゴリ: Next.js 更新日: 2026/01/22

Next.js App Router入門!App RouterとPages Routerの根本的な違いを初心者向けに徹底解説

Next.js App Routerとpages routerの根本的な違い
Next.js App Routerとpages routerの根本的な違い

先生と生徒の会話形式で理解しよう

生徒

「Next.jsにはApp RouterとPages Routerがあると聞いたのですが、何が違うんですか?」

先生

「Next.jsには昔から使われているPages Routerと、新しく登場したApp Routerがあります。考え方そのものが違うんですよ。」

生徒

「初心者だと、どちらを理解すればいいんでしょうか?」

先生

「まずは違いをしっかり理解することが大切です。例え話を交えながら順番に見ていきましょう。」

1. Next.jsとは何かを簡単におさらい

1. Next.jsとは何かを簡単におさらい
1. Next.jsとは何かを簡単におさらい

Next.jsは、WebサイトやWebアプリを作るためのフレームワークです。 フレームワークとは、最初から便利な道具箱が用意されている仕組みのことです。 真っ白な紙に家を建てるのではなく、基礎や柱が用意されている土地で家を建てるようなイメージです。

Next.jsはReactを土台にしており、画面を部品のように組み立てていく考え方を使います。 その中で「ページをどう作るか」「画面をどう分けるか」を決める仕組みがRouterです。

2. Pages Routerとは何か

2. Pages Routerとは何か
2. Pages Routerとは何か

Pages Routerは、Next.jsが最初から長く使ってきた仕組みです。 pagesフォルダの中にファイルを置くことで、自動的にページが作られます。

例えるなら、ファイル名がそのまま住所になるマンションのようなものです。 room1.jsを置けば「/room1」という住所が自動で割り当てられます。


export default function Home() {
  return <h1>トップページです</h1>;
}
(ブラウザでトップページを開くと「トップページです」と表示されます)

3. App Routerとは何か

3. App Routerとは何か
3. App Routerとは何か

App Routerは、Next.jsの新しい仕組みです。 appフォルダを使い、画面の構造をより細かく整理できます。

Pages Routerが「ページ単位」で考えるのに対し、 App Routerは「画面の構造」そのものを考えるイメージです。 家全体を部屋ごと、役割ごとに設計する感覚に近いです。


export default function Page() {
  return <h1>App Routerのページです</h1>;
}
(画面に「App Routerのページです」と表示されます)

4. フォルダ構成の考え方の違い

4. フォルダ構成の考え方の違い
4. フォルダ構成の考え方の違い

Pages Routerでは「1ファイル=1ページ」という考え方が基本です。 そのため、処理や画面が増えるとファイルが増えやすくなります。

App Routerでは、layoutやpageなど役割ごとのファイルを使います。 これにより、共通部分とページごとの部分を分けて管理できます。


export default function Layout({ children }) {
  return (
    <div>
      <header>共通ヘッダー</header>
      {children}
    </div>
  );
}
(すべてのページに共通ヘッダーが表示されます)

5. データの扱い方の根本的な違い

5. データの扱い方の根本的な違い
5. データの扱い方の根本的な違い

Pages Routerでは、データ取得のために特別な関数を使う必要がありました。 初心者にとっては、覚えることが多く混乱しやすい部分です。

App Routerでは、画面を作る流れの中で自然にデータを扱えます。 表示と処理を近い場所に書けるため、理解しやすくなっています。


async function getMessage() {
  return "こんにちは";
}

export default async function Page() {
  const message = await getMessage();
  return <h1>{message}</h1>;
}
(画面に「こんにちは」と表示されます)

6. 初心者が混乱しやすいポイント

6. 初心者が混乱しやすいポイント
6. 初心者が混乱しやすいポイント

初心者がつまずきやすいのは、「なぜ新しい仕組みが必要なのか」という点です。 Pages Routerでもサイトは作れますが、規模が大きくなると管理が難しくなります。

App Routerは最初は難しく見えますが、長い目で見ると整理しやすい構造です。 最初から正しい箱に物を入れる収納のようなものです。

7. App Routerが重視している考え方

7. App Routerが重視している考え方
7. App Routerが重視している考え方

App Routerでは、「画面をどう組み立てるか」を強く意識します。 部品を組み合わせて一つの画面を作るため、修正や追加が楽になります。

この考え方は、これからのNext.js開発の中心となる考え方です。 初心者のうちから触れておくと、後で理解が深まります。

8. Pages RouterとApp Routerはどちらを使うべきか

8. Pages RouterとApp Routerはどちらを使うべきか
8. Pages RouterとApp Routerはどちらを使うべきか

学習目的であれば、両方の存在を知っておくことが大切です。 ただし、これから新しくNext.jsを学ぶ場合は、App Routerを中心に理解するとよいでしょう。

根本的な違いを理解することで、コードの意味や構造が見えやすくなります。 それがNext.jsを怖がらずに学ぶ第一歩になります。

カテゴリの一覧へ
新着記事
New1
React
Reactで再利用可能なリスト表示コンポーネントを実装しよう!初心者でもわかるReactのコンポーネント分割
New2
React
ReactのPropsとStateのベストプラクティスを整理しよう!初心者でもわかる使い方ガイド
New3
Next.js
Next.jsのRoute Groupの使い方を完全ガイド!App Routerでフォルダ構成を整理する方法
New4
Next.js
Next.js App Routerのtemplate.tsxの役割を完全解説!初心者でも理解できるレイアウト管理の基本
人気記事
No.1
Java&Spring記事人気No1
React
Reactでキーボードイベントを活用する方法!onKeyDown, onKeyUp, onKeyPressを初心者向けに解説
No.2
Java&Spring記事人気No2
React
Reactでフォーカスイベントを制御する方法!onFocusとonBlurを初心者向けに解説
No.3
Java&Spring記事人気No3
React
ReactのPresentational Componentを完全ガイド!初心者でもわかるStateを持たないコンポーネントの特徴
No.4
Java&Spring記事人気No4
React
Reactとは?初心者でもわかるReact.jsの基本概念と特徴をやさしく解説
No.5
Java&Spring記事人気No5
Next.js
Next.js Server Componentsのメリット・デメリットを完全解説!初心者でもわかるNext.jsの基本
No.6
Java&Spring記事人気No6
React
ReactでAxiosローディング状態を管理する方法を完全ガイド!初心者でもわかる非同期通信の基本
No.7
Java&Spring記事人気No7
React
create-react-appでReactプロジェクトを作成する手順を初心者向けに完全解説!
No.8
Java&Spring記事人気No8
React
ReactでuseStateを使ったオブジェクト・配列の扱い方完全ガイド!初心者でもわかるReactフック