000%
NEXT.JS · FRAMEWORK LAYER
NOTES — ED. 2026.08

Reactが画面を描くなら、 Next.jsはアプリの道筋を作る。
ライブラリの上に立つフレームワーク。

Technical Reference · Drafted with Codex.

ReactとNext.jsは同じものではない。ReactがUIの部品と更新の原理を提供するのに対し、Next.jsはその部品で複数のURLを持つWebアプリケーションを作り、実行するための共通の決定をまとめて提供する。

Notes
FIG. 01REACT FOR UI — NEXT.JS FOR THE APPLICATION
REACTNEXT.JS

Reactはライブラリ、Next.jsはフレームワーク

FRAMEWORK · 2026

ライブラリは特定の問題を解く道具を提供し、アプリケーションの残りの構造は開発者の選択に委ねる。Reactが中心に扱う問題は、コンポーネントでUIを表現し、データの変化に合わせて更新することだ。

フレームワークはアプリケーション全体を構成する規則と実行環境を提供する。Next.jsはReactをレンダラーとして使いながら、ファイルベースのルーティング、レイアウト、サーバーとクライアントの実行境界、データ処理、ビルドとデプロイの基本構造をまとめる。Reactの代替品ではなく、Reactを含めて組織する上位の層だ。

WHAT REACT DOESWHAT AN APP STILL NEEDS

Reactだけでは残る決定

APPLICATION · 2026

ReactだけでもブラウザのUIは作れる。しかし、複数ページのURLをどう定義するか、初期画面をサーバーとブラウザのどちらで作るか、どこからデータを読むか、コードをどう分割して送るか、検索エンジンや共有カードにどのHTMLを渡すかについて、ReactのコアAPIは一つの答えを定めていない。

開発者はルーターとビルドツールを自分で組み合わせてもよいし、これらの決定をまとめたフレームワークを選んでもよい。Next.jsは後者だ。そのため、Reactを学ぶこととNext.jsを学ぶことは重なるが同一ではない。JSXとStateはReactの言語であり、page・layout・routeなどの規則はNext.jsの言語だ。

ROUTING · RENDERINGDATA · BUILD

Next.jsが加えるもの

NEXT.JS · 2026

ルーティングはフォルダと特別なファイルをURLや画面に結び付ける。レイアウトは複数ページが共有する枠を定義する。レンダリングではページを事前に作るか、リクエスト時にサーバーで作り、必要な操作への反応をブラウザに引き継がせる。

ほかにも、サーバーでのデータアクセス、ローディング・エラー・404のUI、画像とフォントの最適化、コード分割、メタデータ、サーバーエンドポイントなどを一つの体系に収める。全機能を使う必要はない。衝突し得る道具の選択を、フレームワークが一つの規則に整理する点が重要だ。

ReactとNext.jsの責任の境界
React
主な責任
コンポーネント、JSX、Props、State、Hooks、UI更新
Next.js
主な責任
ルーティング、レイアウト、レンダリング戦略、サーバー境界、ビルド体系
アプリケーション
主な責任
ドメイン規則、データモデル、利用体験、運用方針
SERVER COMPONENTSCLIENT COMPONENTS

サーバーとクライアントを一つのコンポーネントツリーとして見る

SERVER & CLIENT · 2026

Next.jsのApp Routerでは、ページとレイアウトは既定でサーバー上で実行されるコンポーネントだ。サーバーコンポーネントはデータ源の近くで読み取り、秘密情報をブラウザに送らず、送信するJavaScriptを減らすのに適している。

State、イベントハンドラ、useEffect、ブラウザAPIが必要な部分はクライアントコンポーネントが担う。“use client”は、そのファイルをブラウザ側のモジュールグラフの境界として示す。サーバーコンポーネントとクライアントコンポーネントは競合するのではなく、静的な仕事と対話的な仕事を一つのツリーで分担する。

A CHOICE, NOT A REQUIREMENTTRADE-OFFS

有力な組み合わせだが唯一ではない

TRADE-OFFS · 2026

複数URL、サーバーデータ、検索への表示、共有メタデータ、静的生成、サーバーレンダリングが必要なサイトなら、ReactとNext.jsの組み合わせは多くの決定を一度に解決する。Reactのコンポーネントモデルを保ちながら、アプリケーション全体の道筋を得られるのが利点だ。

一方、小さなウィジェット、学習用の画面、ブラウザ内だけで動く単純な道具なら、Reactだけを使うか、別のビルドツールやフレームワークを選べる。Next.jsを使えば自動的によいアプリになるわけでもない。フレームワークは決定をなくすのではなく、繰り返す決定を既定値と規則で減らす。

— FIN —