SPAとは?シングルページアプリケーションの仕組み・MPAとの違いを2分で解説
2025.7.3 2026.6.15
この記事は約2 分で読めます
「シングルページ」なのに、なぜ複数のページがあるのか?
SPAの名前の由来から仕組み、MPAとの違い、メリット・デメリットまで。
図解でビギナー向けにわかりやすく解説。
筆者三好アキ(専門用語なしでプログラミング)
私について詳しくは → 自己紹介
MPAからSPAへ
前回の記事では「MPA(マルチ・ページ・アプリケーション)」を紹介しました。
そしてMPAには、「ページの表示に時間がかかる」という問題があることにも触れました。
ページが移動するたびに毎回サーバーとのやりとりが発生するからです。
図にすると下図のようになっています。

ここを改善したものが、本記事で紹介する「SPA(シングル・ページ・アプリケーション)」です。
| 登場時期 | |
|---|---|
| MPA(マルチ・ページ・アプリケーション) | SPA以前(2000年ごろ) |
| SPA(シングル・ページ・アプリケーション) | 2010年ごろ |
SPAの仕組み
SPAの仕組みを示したものが次図です。

SPAでは、ページ描画をJavaScriptがクライアント(ブラウザ)側で行うため、ページ移動のたびにサーバーとやりとりをする必要はなく、ページをすばやく表示できるのです。
しかし、SPAにもマイナス面がひとつあります。
ページの初回表示に時間がかかることです。
サーバーは最初のリクエストがあったとき「からっぽのHTMLファイル(index.html)」と、大量のJavaScriptをクライアントに送ります。まずここで時間がかかります。
さらに、クライアントがこれらを受け取ったあとには、HTMLファイルを下敷きにしてページをJavaScriptで組み立てる作業が始まりますが、ここでもさらに時間がかかります。
この結果、ブラウザには何もない真っ白なページ(=からっぽのHTMLファイル)がしばらく映っていることになるのです。

メリット/デメリット
MPAでは、初回表示時を含め、ページ移動時には毎回時間がかかります。
一方SPAでは、ページ移動は素早く行えるものの、初回ページ表示時に時間がかかるのです。
ここを改善したものが、次の記事で紹介するSSR(サーバー・サイド・レンダリング)というものです。
なお、SPAについてもう少し掘り下げて理解したい方は下記記事をご覧ください。
「静的サイト・動的サイトの時代からどうSPAが生まれたのか」、そして「SPAのメリット・デメリット」を、より詳しく追った記事です▼
• SPAサイトとは?仕組み・メリット・デメリット・実例を2分で解説
参考情報①(「からっぽのHTMLファイル」のコード例)
SPAの初回リクエスト時に送られてくる「からっぽのHTMLファイル」とは次のようなものです。
<body>タグ内にはJavaScriptを読み込むコードしかなく、ブラウザで表示する具体的なものが何もないのがわかります。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8" />
<meta name="description" content="お天気アプリです" />
<title>SPA</title>
</head>
<body>
<div id="root"></div>
<script type="module" src="/main.js"></script>
</body>
</html>
参考情報②(なぜ「シングル」?)
SPA(シングル・ページ・アプリケーション)の具体例は、GoogleマップやGメール、Facebookなどです。
しかしここで多くの人が疑問に思うことがあります。
「アプリ内には複数のページがあるのに(/home、/aboutなど)、なぜ「シングル・ページ」という名前が使われているの?」という疑問です。
これまでに「React + Vite」や「create-react-app」などを使ったことのある人は、フォルダ内にindex.htmlというファイルがあったことに気がついたかもしれません。
SPAはこのindex.htmlという一枚のHTMLファイル(シングル・ページ)を下敷きとして、JavaScriptで描写を行っているのです。
「シングル・ページ」という言葉は、使われているHTMLファイルが一枚(シングル)ということに由来しています。
SPAの次に現れたSSR(サーバーサイドレンダリング)は下記記事をご覧ください▼
SPA(React + Vite)の開発環境のセットアップから学習の進め方まで、まとめたガイドはこちらです▼
SPAの次のステップであるSSR・RSCまで、技術の進化の流れをReact 19の新機能も含めて一本でまとめたガイドもあります。
参考にしてください▼
SPAの課題をSSR・RSCで解決するNext.jsの全体像(セットアップから各機能の使い方、デプロイまで)はこちらのガイドでまとめて確認できます▼
仕組みは分かりましたが、自分の学習が前に進みません
SPAのような概念を理解できても、React学習そのもので手が止まってしまう人は少なくありません。
今の状況を教えていただければ、どこを補えば先に進めるか、次に何を学べばいいかを個別にお答えします。
下のフォームからご連絡ください。
三好アキが直接、目を通してお返事します(無料)。
送信が完了しました
お答えいただきありがとうございます。いただいたメールアドレス宛に確認のメールをお送りました。後ほど、三好アキより個別にお返事いたします。
学習のお悩み相談
プログラミング学習で今つまずいていること、困っていること......あなたの状況に合ったアドバイスを無料でご提供します。
次に読みたい記事特集
Next.js入門の決定版|順番に読む7記事
- 1
【2026年版】Next.js完全スタートガイド|初心者向けにすべて解説 - 2
React × TypeScript最強教材の2年間を振り返る(構想5年の歩み) - 3
【2026年版】React + ViteとNext.js、どちらを選ぶべきか? 用途別の選び方を分かりやすく解説 - 4
【Next.js × TypeScript】3分で使えるようになる入門ガイド(2026年版) - 5
SPAとは?シングルページアプリケーションの仕組み・MPAとの違いを2分で解説 - 6
Reactサーバーコンポーネント(RSC)完全解説|仕組み・メリット・デメリット・ストリーミングまで - 7
📌 自己紹介(三好アキについて)



