用語集 最終更新 2026.08.10

SPA

SPA は Single Page Application の略で、最初に読み込んだ1ページの中身を書き換えながら動く Web アプリの作り方です。 画面遷移のたびにサーバーからHTMLを取り直す従来の方式と対比されます。

何が変わるのか

従来(MPA SPA
画面遷移 サーバーからHTMLを取得 JavaScriptが書き換える
初回表示 速い 重くなりやすい
2回目以降 毎回リクエスト 差分データだけ取得して速い
サーバーの役割 HTMLを組み立てる APIとしてデータを返す

操作の多い管理画面やダッシュボードでは、画面が白くならずに切り替わる体験の差が大きく効きます。

引き換えに増える仕事

SPA にすると、これまでブラウザやサーバーがやってくれていたことを自前で持つことになります。

  • ルーティング:URLと表示内容の対応を自分で管理する
  • 状態管理:画面をまたいで持つデータの置き場所を設計する(Context APIRedux の出番)
  • 戻るボタン:ブラウザの履歴と整合を取る
  • エラーと読み込み中:通信中の表示を画面ごとに用意する

「SPAは速い」だけで選ぶと、この実装量を見落とします。

サーバー設定でつまずく定番

SPA を公開してトップページは出るのに、/users/1 を直接開くと404になる——これは非常によくあります。

原因は、そのURLに対応するファイルがサーバー上に存在しないからです。ルーティングはJavaScriptが担当しているので、どのパスへ来ても index.html を返す設定(フォールバック)をサーバー側に入れる必要があります。

SEOとの相性

中身をJavaScriptで生成するため、検索エンジンやSNSのプレビューが内容を取得できないことがあります公開サイトで検索流入が必要なら、SSRSSG を検討してください。

逆に、ログインが前提の管理画面ならSEOは不要なので、SPAの弱点はほぼ問題になりません。用途で選ぶのが正解です。

実務で見るポイント

  • 初回の読み込みが重くなりやすい。コード分割で必要な分だけ読む
  • 認証が絡む画面では、トークンの保管場所を先に設計する
  • 社内ツールや管理画面=SPA、公開コンテンツ=SSR/SSG、という切り分けが素直