Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Next.js 入門解説: Reactとの決定的な違いとApp Routerに基づくモダンWeb開発
Search
MIKIO KUBO
November 19, 2025
Programming
1
130
Next.js 入門解説: Reactとの決定的な違いとApp Routerに基づくモダンWeb開発
# Next.js 入門解説
## Reactとの決定的な違いとApp Routerに基づくモダンWeb開発
MIKIO KUBO
November 19, 2025
Tweet
Share
More Decks by MIKIO KUBO
See All by MIKIO KUBO
SCML (Supply Chain Modeling Language)
mickey_kubo
0
17
Google Antigravity エージェント・フ ァーストな開発パラダイムへの招待
mickey_kubo
1
83
Google AI Studio 開発者向け完全ガイド プロトタイピ まで ングからReactアプリ 構築・マルチモーダル活用
mickey_kubo
1
27
The Fusion of Mathematical Optimization and AI (MOAI): History and Outlook (Final Version)
mickey_kubo
0
67
The Fusion of Mathematical Optimization and AI (MOAI): History and Outlook (Short Version)
mickey_kubo
1
56
The Fusion of Mathematical Optimization and AI (MOAI): History and Outlook
mickey_kubo
1
95
History and Future of MO+AI
mickey_kubo
1
84
History and Future of MO+AI (Fusion of Mathematical Optimization and Artificial Intelligence)
mickey_kubo
1
43
Google Antigravity and Vibe Coding: Agentic Development Guide
mickey_kubo
8
410
Other Decks in Programming
See All in Programming
AI時代のソフトウェア開発でも「人が仕様を書く」から始めよう-医療IT現場での実践とこれから
koukimiura
0
110
社内規程RAGの精度を73.3% → 100%に改善した話
oharu121
9
4.7k
Rで始めるML・LLM活用入門
wakamatsu_takumu
0
110
AIによる高速開発をどう制御するか? ガードレール設置で開発速度と品質を両立させたチームの事例
tonkotsuboy_com
7
2.6k
TipKitTips
ktcryomm
0
110
並行開発のためのコードレビュー
miyukiw
2
2.1k
AI時代のキャリアプラン「技術の引力」からの脱出と「問い」へのいざない / tech-gravity
minodriven
22
8.1k
ご飯食べながらエージェントが開発できる。そう、Agentic Engineeringならね。
yokomachi
1
270
AIに仕事を丸投げしたら、本当に楽になれるのか
dip_tech
PRO
0
170
new(1.26) ← これすき / kamakura.go #8
utgwkk
0
890
15年目のiOSアプリを1から作り直す技術
teakun
0
570
Event Storming
hschwentner
3
1.3k
Featured
See All Featured
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
95
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
140
WCS-LA-2024
lcolladotor
0
470
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.4k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
310
The World Runs on Bad Software
bkeepers
PRO
72
12k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.1k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
190
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
130
Transcript
Next.js 入門解説 React との決定的な違いとApp Router に基づくモダンWeb 開発 1
現代のWeb 開発に求められる要件とReact の課題 「React だけ」では解決できない課題があります 現代のWeb アプリの必須要件: 初期表示の高速化、SEO対策、堅牢なインフラ React (
ライブラリ) の限界: Reactは「UI構築」に特化しており、これだけでは不足 ルーティング、SEO、APIなどを個別に設定する必要がある 設定の沼 (Configuration Hell): 数多くの外部ライブラリを組み合わせる複雑さが開発の負担に 2
Next.js とは:React を拡張したフルスタックフレームワーク 複雑な設定を排除し、開発に集中できる環境を提供 フルスタックフレームワーク: Reactを基盤としつつ、必要なインフラ機能をすべて内蔵 オールインワンの機能: サーバー側レンダリング (SSR) /
静的サイト生成 (SSG) ファイルシステムベースのルーティング APIルートの作成機能 メリット: 高パフォーマンスでSEOに強いアプリを 迅速に構築可能 3
比較:React ( ライブラリ) vs Next.js ( フレームワーク) 項目 React (
ライブラリ) Next.js ( フレームワーク) 役割 UIパーツの構築 フルスタック開発基盤 ルーティング 外部ライブラリが必要 ファイルベースで内蔵 レンダリング 基本的にCSR (遅い) SSR / SSG ( 高速・SEO) API 別途サーバー構築 API ルート内蔵 画像最適化 手動設定 <Image> で自動化 4
Next.js のレンダリング戦略:ハイブリッドアプローチ コンテンツに応じて最適なレンダリング手法を選択可能 CSR (Client-Side Rendering): ブラウザで描画。インタラクティブなUI向け。 SSR (Server-Side Rendering):
サーバーで都度描画。頻繁に更新されるデータ向け。 SSG (Static Site Generation): ビルド時にHTML生成。ブログや概要ページ向け(最速)。 ハイブリッドの強み: ページごとにこれらを使い分け、パフォーマンスとSEOを最大化 5
デプロイメントの革命:Vercel との連携 インフラ設定不要で、高度な配信環境を実現 Vercel との密接な連携: Next.jsの開発元プラットフォーム 自動最適化: 静的ファイルはCDNへ、APIはサーバーレス関数へ自動配置 簡単なデプロイ: Git連携のみで「ハイブリッドレンダリング」環境が完成
初学者でもインフラ構築の学習コストなしに公開可能 6
新しい基盤:App Router のアーキテクチャ ファイルシステムとURL が直感的に対応 フォルダ構造 = URL パス: app
ディレクトリ内のフォルダ名がそのままURLになる 安全な設計: フォルダを作っただけでは公開されない page.tsx を作成して初めてアクセス可能になる 動的ルーティング: [slug] のようにフォルダ名をつけるだけでパラメータ取得可能 複雑な設定コードが不要に 7
App Router における主要ファイルの役割 ファイル名によって役割が明確に定義されています ファイル名 役割 説明 page.tsx ルートUI そのURLで表示されるメインコンテンツ
layout.tsx レイアウト ヘッダーなど、ページ遷移しても維持されるUI loading.tsx 読み込み中 データ取得中のローディング表示 error.tsx エラー処理 エラー発生時のフォールバック表示 route.ts API定義 Web APIのエンドポイントを作成 8
革新技術:Server Components (RSC) サーバーとクライアントの役割を明確に分離 Server Components ( デフォルト): サーバー側でレンダリングし、結果のHTMLだけを送信 JS
バンドルサイズ削減: クライアントの読み込みが劇的に高速化 セキュリティ: データベース接続情報などを安全に扱える できないこと: useState や onClick などの対話機能は使えない → インタラクティブな部分のみ Client Components を使う 9
Client Components の使い所 必要な部分だけを「クライアント」にする 役割: ユーザーとの対話(クリック、入力)、状態管理(Hooks)を担当 実装方法: ファイル先頭に 'use client'
を記述 ベストプラクティス: アプリの大部分は Server Components (RSC) で構成 インタラクティブな「末端のUI」だけを Client Components にする 10
モダンなデータフェッチング Server Components なら、データ取得が直感的かつシンプルに // app/page.tsx (Server Component) export default
async function Page() { // サーバー側で直接APIを叩ける let data = await fetch('[https://api.vercel.app/blog](https://api.vercel.app/blog)'); let posts = await data.json(); return ( <ul> {posts.map((post) => ( <li key={post.id}>{post.title}</li> ))} </ul> ); } useEffect やローディング管理が不要になり、コードが激減。 11
標準搭載された最適化機能 (Optimization) 開発者が意識せずとも、ベストプラクティスが適用される 画像最適化 ( <Image> ): デバイスに応じたサイズ変更、WebP変換、遅延ロードを自動化 レイアウトのズレ (CLS)
を自動で防止 ナビゲーション最適化 ( <Link> ): リンクが画面に入ると、リンク先をバックグラウンドで先読み ユーザーがクリックした瞬間、即座に遷移完了 12
開発者体験 (DX) と TypeScript 堅牢で快適な開発環境がすぐに手に入る TypeScript 完全対応: セットアップ不要で、型安全な開発が可能 リンクの型安全性: プロジェクト内のルート情報を自動解析
存在しないページへのリンクをエディタ上で警告 結果: デバッグ時間の短縮と、保守性の高いコード維持 13
まとめ:Next.js を学ぶ価値 「UI ライブラリ」から「プロダクション環境」への架け橋 Next.js = React + インフラストラクチャ Reactの良さを活かしつつ、Web開発の複雑な課題を一挙に解決
習得するスキル: サーバー機能、レンダリング戦略、パフォーマンス最適化 結論: インフラ管理から解放され、 ユーザー体験とビジネスロジックに集中でき る最強のツール 14