「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

シングルページアプリケーション(SPA)

pointこの用語のポイント

pointホームページとかWebシステムの分類だよ

pointページが移動しないやつだよ

point同じページを表示したまま、中身が切り替わるよ

スポンサーリンク

簡単に書くよ

シングルページアプリケーション(SPA)(英:single page application)とは

ホームページとかWebシステム(インターネットを使うシステム)の分類のひとつ
であり

例えば「Google マップ」みたいに、ポチポチ操作したときにページ自体は移動しないけどページの中身が切り替わる作りになっているホームページ(とかWebシステム)のこと
です。
言い方を変えると

新しいページをもらってきたら「中身の差し替え」をするから、ページ自体は移動しないホームページ(とかWebシステム)のこと
です。


image piyo

詳しく書くよ

サクっと一言で説明すると

ポチポチ操作しても他のページに移動しない(けど中身が切り替わる)ホームページ

が「シングルページアプリケーション」です。
Single Page Application(シングル・ページ・アプリケーション)」の頭文字を取って「SPA」と表現されることも あります。

シングルページアプリケーション(SPA)

※「Single Page Application」を何となく日本語にすると「1つのWebページのソフト」となります。[詳細]

……と、いきなり言われても分かりませんよね。
大丈夫です。
順番に見ていきましょう。

まずは予備知識として、ホームページが表示される流れについて説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

あなたがホームページを見ようとすると、まず、ホームページを見るときに使うソフトWebブラウザからホームページのファイルが置いてあるコンピュータWebサーバに対して「このページをおくれ」と お願いが出されます。

シングルページアプリケーション(SPA)2

そのお願いに対して、WebサーバさんからWebブラウザさんに「ほれ、そのページだよ」と お返事がきます。

シングルページアプリケーション(SPA)3

お返事を受け取ったWebブラウザさんは、受け取った内容(ホームページのファイル)を画面上に表示してくれます。

シングルページアプリケーション(SPA)4

これが、ホームページが表示されるときの流れです。

シングルページアプリケーション(SPA)5

ホームページが表示されるときの流れは

1.くれよ
2.ほらよ
3.さぁ見ろ


でワンセットです。

シングルページアプリケーション(SPA)6

最初のページを表示した後にリンクを押したりして別のページに移動したときは

1.くれよ(1回目)
2.ほらよ(1回目)
3.さぁ見ろ(1回目)
4.くれよ(2回目)
5.ほらよ(2回目)
6.さぁ見ろ(2回目)


の流れになります。

シングルページアプリケーション(SPA)7

ただし、2回目の「さぁ見ろ」のタイミングで、1回目の「さぁ見ろ」で表示したページは捨てられます。
よって、より正確に表現すると

1.くれよ(1回目)
2.ほらよ(1回目)
3.さぁ見ろ(1回目)
4.くれよ(2回目)
5.ほらよ(2回目)
6.「さぁ見ろ(1回目)」で表示したページを捨てる
.さぁ見ろ(2回目)


の流れになります。

シングルページアプリケーション(SPA)8

以上を踏まえて、本題に入ります。

技術の進歩と共に「くれよ」を裏でコッソリやる技が編み出されました。
ちょっと小難しい言い方をすると「非同期通信」というやつで「くれよ」をできるようになったのです。

それに伴い

「さぁ見ろ(1回目)」で表示したページを捨てないでページの一部や全部を差し替えられる

ようになりました。

例えば、そうですね。

「さぁ見ろ(1回目)」で表示したページが表示されています。

シングルページアプリケーション(SPA)9

その状態で「くれよ(2回目)」を裏側でコッソリやります。

シングルページアプリケーション(SPA)10

「くれよ(2回目)」に対する「ほらよ(2回目)」が来ました。
「さぁ見ろ(1回目)」で表示したページを表示している状態で、新しいページをコッソリ受け取ります。

シングルページアプリケーション(SPA)11

あとはページの作り方次第ですが、表示中のページに「ほらよ(2回目)」でもらってきたページを合体させたりできます。
ページの一部を差し替えるわけです。

シングルページアプリケーション(SPA)12

あるいは、丸ごとページを置き換えたりもできます。

シングルページアプリケーション(SPA)13

ただし、これは「ページの一部差し換え」の対象をページ全体に広げただけです。
実質的に「ページの一部差し換え」と同じです。

ここで ちょっと考えてみてください。

「くれよ(2回目)」でもらってきたページは「ページの一部差し換え」に使いました。
今現在、画面に表示されているページは

「さぁ見ろ(1回目)」で表示したページ+α(「くれよ(2回目)」でもらってきた内容)

です。
ホームページを見ている人にとっては(表示内容が一部変わったにしろ)「さぁ見ろ(1回目)」で表示したページが表示されています。

シングルページアプリケーション(SPA)14

せっかくなので、もう1回「くれよ」をやってみますね。

「さぁ見ろ(1回目)」で表示したページ+α(「くれよ(2回目)」でもらってきた内容)が表示されています。

シングルページアプリケーション(SPA)15

その状態で「くれよ(3回目)」を裏側でコッソリやります。

シングルページアプリケーション(SPA)16

「くれよ(3回目)」に対する「ほらよ(3回目)」が来ました。
「さぁ見ろ(1回目)」で表示したページ+α(「くれよ(2回目)」でもらってきた内容)を表示している状態で、新しいページをコッソリ受け取ります。

シングルページアプリケーション(SPA)17

あとはページの作り方次第ですが、表示中のページに「ほらよ(3回目)」でもらってきたページを合体させたりできます。
ページの一部を差し替えるわけです。

シングルページアプリケーション(SPA)18

あるいは、丸ごとページを置き換えたりもできます。

シングルページアプリケーション(SPA)19

ただし、これは「ページの一部差し換え」の対象をページ全体に広げただけです。
実質的に「ページの一部差し換え」と同じです。

ここで ちょっと考えてみてください。

3回目のやり取りでもらってきたページは「ページの一部差し換え」に使いました。
今現在、画面に表示されているページは

「さぁ見ろ(1回目)」で表示したページ+α(「くれよ(2回目)」でもらってきた内容+「くれよ(3回目)」でもらってきた内容)

です。
ホームページを見ている人にとっては(表示内容が一部変わったにしろ)「さぁ見ろ(1回目)」で表示したページが表示されています。

シングルページアプリケーション(SPA)20

4回目以降も同じです。
何回「くれよ」をしようと「ページの一部差し換え」に使われている限り、ホームページを見ている人にとっては

「さぁ見ろ(1回目)」で表示したページ+α

が表示されています。

シングルページアプリケーション(SPA)21

このような

「さぁ見ろ」が1回しか発生しない作りになっているホームページ(とかWebシステム

がシングルページアプリケーション(SPA)です。

実際には何回も「くれよ」「ほらよ」をやっていますけどね。
裏側でコッソリやっているので、人間様には見えません。
また、コッソリもらってきた内容は

ページの中身の差し替え

で使います。
それに伴い、ページの表示内容は変わるけど、ページ自体は移動しない(「さぁ見ろ」が発生しない)のがシングルページアプリケーション(SPA)です。

シングルページアプリケーション(SPA)22

ここまでの説明がよく分からなかった人は「Google マップ」を思い浮かべてください。
Google マップを開くのは最初の1回だけですよね。
ポチポチ操作すると地図の表示位置とかは変わりますが、ページ自体は移動しません。
Google マップのような作りのホームページがシングルページアプリケーション(SPA)です。


image piyo2

一言でまとめるよ

まぁ「シングルページアプリケーション(SPA)」って単語が出てきたら「ページ自体は移動しないけど中身が切り替わる作りのホームページなんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像036
書籍画像006

おまけ

■訳してみるよ

「single(シングル)」の意味は「1つの」とか「1人の」とか「単独の」とかです。
今回 登場する「page(ページ)」はIT用語の「Webページ」のことです。
「application(アプリケーション)」の意味は「申請」とか「適用」とか「応用」とかです。
ただし、今回は「application software(アプリケーション・ソフトウェア)」の略です。
よく分からない人は単純に「ソフト」と解釈してください。
何となく くっつけると

1つのWebページのソフト

となります。




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
ソフトウェア受託現場の「失敗」集めてみた。 42の失敗事例で学ぶ受託開発のうまい進めかた
エンジニアのための生成AI入門 はじめての生成AIアプリ開発からエージェント開発まで