Foundation
ADR

Next.js (App Router)

フレームワークとしてNext.js App Routerを採用した理由。

決定

UIライブラリとしてReactを、フレームワークとしてNext.js (App Router) を採用する。

Reactを選んだ理由

コミュニティの活発さ

Reactは主要なUIライブラリの中で最もコミュニティが大きく、ライブラリ・ツール・学習リソースの選択肢が圧倒的に多い。業務システム開発で必要になるUIコンポーネント、フォーム管理、状態管理などのライブラリが豊富に揃っている。

採用実績と人材の確保

Reactエンジニアの母数が多く、チーム拡大時の採用面で有利である。

Next.jsを選んだ理由

Reactを採用した上で、フレームワークの選択肢はNext.js、Remix等がある。

コミュニティが最も活発

npmダウンロード数、GitHubスター数、Stack Overflowの質問数のいずれも最大であり、問題解決時の情報源が豊富である。

フルスタック統合

API Routes、ミドルウェア、Server Actionsを備えており、フロントエンドとバックエンドを単一フレームワークで構築できる。小規模チームにおいて、リポジトリやデプロイの分離による管理コストを避けられる。

ファイルベースルーティング

App Routerのディレクトリ構造がそのままURL構造になるため、業務システムの画面構成(従業員一覧、シフト管理、勤怠管理等)を直感的にマッピングできる。

デプロイの容易さ

Vercelへのデプロイがゼロコンフィグで完了する。プレビュー環境の自動生成やエッジネットワークなど、インフラの管理コストを最小限にできる。

画像の自動最適化

next/image により、リクエスト時の自動リサイズ・フォーマット変換(WebP/AVIF)、遅延読み込み、CLS防止が組み込みで提供される。外部ライブラリなしで画像最適化が完結する。

段階的な機能採用

CSR中心の設計から始め、必要に応じてSSRやServer Componentを導入できる。初期段階で過剰な設計判断を迫られない。

On this page