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
240
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Next.js 入門解説: Reactとの決定的な違いとApp Routerに基づくモダンWeb開発
# Next.js 入門解説
## Reactとの決定的な違いとApp Routerに基づくモダンWeb開発
MIKIO KUBO
November 19, 2025
More Decks by MIKIO KUBO
See All by MIKIO KUBO
人工知能の歴史: チューリングからエージェントスキルに至る道程}
mickey_kubo
0
83
AlgorithAlgorihms for Decision Making
mickey_kubo
0
110
エージェントスキル:自律型AIが変える最適化とサプライチェーンの未来
mickey_kubo
0
170
エージェントスキルによる最適化
mickey_kubo
2
200
Agent Skills 完全ガイド
mickey_kubo
0
170
Skill Creatorの技術設計と動作原理
mickey_kubo
0
140
AI+SCM
mickey_kubo
0
94
エージェンティック・サプライチェーン」の概念と、製造業におけるその革新的な役割について解説
mickey_kubo
0
100
MOAI Solutionの紹介 -電力最適化を中心として-
mickey_kubo
0
120
Other Decks in Programming
See All in Programming
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
4
1.8k
継続モナドとリアクティブプログラミング
yukikurage
3
670
AIエージェントで 変わるAndroid開発環境
takahirom
2
740
仕様書を書く前にハーネスを作る - Agent Native開発は「探索を速く、判定を固く」
gotalab555
2
1.3k
Welcome to the "Parametricity" 🏙️ − Generic だけど Specific な世界 −
guvalif
PRO
1
190
地域 SRE コミュニティ最前線 - ホンマでっかSRE勉強会
tk3fftk
0
290
言語を使う側から、作る側へ。 自作 Lisp で得た新たな気づき。
andpad
0
140
PHP初心者セッション2026 〜生成AIでは見えない裏側を知る:今だからLAMPを通して仕組みを学ぶ〜
kashioka
0
750
PHP に部分適用が来るぞ!……ところで何それ?おいしいの? #phpcon / phpcon-2026
shogogg
0
430
SREの積み重ねがAI駆動開発のガードレールになった ― 7つの実践/SRE Guardrails The 7
tomoyakitaura
9
5.8k
その節約、円になってますか?
isamumumu
0
560
使いながら育てる Claude Code — 開発フローの1コマンド化 × 繰り返し指摘の自動仕組み化
shiki_kakaku
0
1.4k
Featured
See All Featured
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
350
Crafting Experiences
bethany
1
230
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.8k
Are puppies a ranking factor?
jonoalderson
1
3.7k
A Tale of Four Properties
chriscoyier
163
24k
Bash Introduction
62gerente
615
220k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
310
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
230
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
A designer walks into a library…
pauljervisheath
211
24k
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