Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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
75
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
The Fusion of Mathematical Optimization and AI (MOAI): History and Outlook (Final Version)
mickey_kubo
0
15
The Fusion of Mathematical Optimization and AI (MOAI): History and Outlook (Short Version)
mickey_kubo
1
16
The Fusion of Mathematical Optimization and AI (MOAI): History and Outlook
mickey_kubo
1
62
History and Future of MO+AI
mickey_kubo
1
53
History and Future of MO+AI (Fusion of Mathematical Optimization and Artificial Intelligence)
mickey_kubo
1
17
Google Antigravity and Vibe Coding: Agentic Development Guide
mickey_kubo
2
150
React完全入門
mickey_kubo
1
62
TypeScript初心者向け完全ガイド
mickey_kubo
1
68
ポストSaaS時代:コンポーザブル、エージェント 型、成果指向ソフトウェアへの移行を読み解く
mickey_kubo
1
67
Other Decks in Programming
See All in Programming
テストやOSS開発に役立つSetup PHP Action
matsuo_atsushi
0
140
ViewファーストなRailsアプリ開発のたのしさ
sugiwe
0
420
AIエンジニアリングのご紹介 / Introduction to AI Engineering
rkaga
4
1.4k
著者と進める!『AIと個人開発したくなったらまずCursorで要件定義だ!』
yasunacoffee
0
120
Developing static sites with Ruby
okuramasafumi
0
190
AIと協働し、イベントソーシングとアクターモデルで作る後悔しないアーキテクチャ Regret-Free Architecture with AI, Event Sourcing, and Actors
tomohisa
5
19k
大体よく分かるscala.collection.immutable.HashMap ~ Compressed Hash-Array Mapped Prefix-tree (CHAMP) ~
matsu_chara
1
210
なあ兄弟、 余白の意味を考えてから UI実装してくれ!
ktcryomm
10
11k
dotfiles 式年遷宮 令和最新版
masawada
1
690
sbt 2
xuwei_k
0
220
UIデザインに役立つ 2025年の最新CSS / The Latest CSS for UI Design 2025
clockmaker
18
7k
【CA.ai #3】ワークフローから見直すAIエージェント — 必要な場面と“選ばない”判断
satoaoaka
0
230
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Why Our Code Smells
bkeepers
PRO
340
57k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
1
88
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Designing Experiences People Love
moore
143
24k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Building an army of robots
kneath
306
46k
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