2025-09-16

React と Next.js どちらを使えばいいのか

現時点での自分なりの結論。 Podcast ネタとしてはボツにしたので供養

前提

  • React はコンポーネントベースで宣言的な UI の表現を提供するライブラリ
    • README1にもそう書いてある
  • 対立項が Next.js なので、Web ページ構築の文脈である
  • この分野では長らく facebook 謹製の facebook/create-react-app というボイラープレートがプレーンな React 環境のスタートアップとしてデファクトスタンダードとなっていたが、 2025年9月現在 deprecated となっている 2

結論

  • 基本的には Next.js で OK だと考えている

  • 逆に、Create React App, 生の React で扱うべきユースケースは?

    • 静的 web ページで複雑な処理(動的なルーティング等)をしたい
      • Next.js の static export では制約が多い
    • 既存 Web サイトの中に部分的に React コンポーネントを組み込みたい
  • 新規でプロジェクトを作るときにどのような判断をするか?

    • React 一択になる場合
      • プロトタイピング的にサクッと作りたい
      • 部分的に React コンポーネントを組み込みたい
    • Nextjs 一択になる場合
      • サーバサイドレンダリングを使いたい
        • SEO, 認証情報の秘匿
      • ルーティングに関して面倒なことをしたくない

気になったアップデート

  • Nextjs 最新バージョンで TypedRoutes が GA された

  • OpenAI 2025/08 時点で AI を使ってアプリケーションを構築するために推奨する環境として Next.js, React を挙げている

  • TypeScript という言語自体が明示的な定義を求めがちな言語(モジュールの中身を露出させる場合必ず名前空間を汚染させる必要があるし)で、ビルド時点でエラーになってくれる Nextjs の方が AI へのダイレクトなフィードバックが可能で嬉しいんだろう


Footnotes

  1. https://github.com/facebook/react/blob/4e482f490405c0c601d8712a0625fd17c04978e4/README.md#react------

  2. https://github.com/facebook/create-react-app/blob/b532a58792ea79ba7b0e85c1cb42b2a36dafe276/README.md#create-react-app-- https://zenn.dev/sonicmoov/articles/deprecated-create-react-app

© nasustim, 2010-