SPA(Single Page Application)は、最初に1枚のページを読み込んだ後は、ページ全体を再読み込みせず、必要な部分だけを書き換える 作りのWebアプリです。画面の切り替えがなめらかで、まるでインストール型アプリのような操作感になります。
従来型(MPA:画面を移動するたびにサーバーからページ全体を受け取る)と比べると、違いは明快です。
flowchart LR
subgraph 従来型MPA
A1[画面A] -->|ページ全体を再取得| A2[画面B]
end
subgraph SPA
B1[1枚のページ] -->|"データだけ取得し部分更新"| B1
end
仕組みとしては、JavaScript が API から データだけ を受け取り(Ajax)、DOM を書き換えて表示を更新します。React や Angular がよく使われます。
反応が速い反面、最初の読み込みがやや重く、SEO に工夫が要ることもあります。この弱点を補うのが、次項の SSR です。