Pedia

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

えすぴーえー

意味

SPA(Single Page Application:シングルページアプリケーション)とは、Webサイト全体を1つのページ(HTMLファイル)だけで構成し、ページ遷移することなくコンテンツを切り替える技術のことである。 従来のWebサイトは、リンクをクリックするたびにサーバーから新しいページを読...

概要

SPA(Single Page Application)とは、Webアプリケーションの構成手法の一つで、ブラウザによるページ遷移(再読み込み)を行わずに、単一のWebページ(HTML)の中でコンテンツを動的に書き換えることで、デスクトップアプリのような滑らかな操作性を実現する技術である。

従来のWebとの違い

  • MPA(従来のWeb): リンクをクリックするたびに、サーバーから新しいHTMLページを丸ごとダウンロードして表示し直す。画面が一瞬白くなったり、スクロール位置がリセットされたりする。
  • SPA: 最初の一回だけHTMLとJavaScriptを読み込む。その後は、必要なデータ(JSONなど)だけを裏側でサーバーとやり取りし(Ajax)、JavaScriptが画面の一部だけを高速に書き換える。

技術

React、Vue.js、AngularなどのJavaScriptフレームワークを使って開発されることが一般的。 GmailやGoogleマップ、Facebookなどが代表例である。

メリット

  1. ユーザー体験(UX)の向上: サクサク動く。アプリのような操作感。
  2. サーバー負荷の軽減: 必要なデータしか送らないので通信量が減る(ただし初回読み込みは重い)。

デメリットと課題

  1. 初回ロードが遅い: 最初に巨大なJavaScriptファイルを読み込む必要があるため。
  2. SEO(検索エンジン最適化): GoogleのクローラーがJavaScriptをうまく実行できない場合、ページの中身が空っぽに見えてしまい、検索順位が上がらないことがあった(現在は改善されつつあるが、まだ課題も多い)。 そのため、最近では「やっぱりサーバー側でHTMLを作ろう(SSR: Server Side Rendering)」という揺り戻しや、Next.jsのようなハイブリッドなフレームワークが主流になりつつある。
TOP / 検索 Amazonで探す