2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Web】RESTful API と SPA をやさしく解説

2
Posted at

本記事の目的

最近のWeb開発でよく使われる
「RESTful API + SPA」構成について、初心者向けに解説します。

前回の記事では MVC モデルについて説明しましたが、
本記事では

  • なぜ MVC から RESTful API + SPA に進化したのか
  • RESTful API と SPA はそれぞれ何をしているのか

をイメージできるようになることを目標とします。

※ 本記事では、Webアプリの基本構造として MVC モデル を理解していると、
RESTful API + SPA の役割分担がより分かりやすくなります。

MVC モデルについては、以下の記事で初心者向けに解説しています。
▶︎ 【Web】MVC モデルとは


RESTful API とは?

RESTful API とは、
データのやり取りに特化したAPI です。

HTML(画面)を返すのではなく、
JSONなどの形式で データのみ を返します。

RESTful API の特徴

  • URLは「リソース(データ)」を表す
  • HTTPメソッドで操作内容を表す
操作 HTTPメソッド 内容
取得 GET データを取得する
登録 POST データを新規作成
更新 PUT / PATCH データを更新
削除 DELETE データを削除

RESTful API は
「どんなクライアントから呼ばれても同じデータを返す」
という特徴があります。


SPA とは?

SPA(Single Page Application)とは、
ページ遷移をJavaScriptで制御するWebアプリ です。

最初に1枚のHTMLを読み込み、
その後は画面の切り替えをJavaScriptで行います。

SPA の特徴

  • ページ全体を再読み込みしない
  • 画面操作がスムーズ
  • React / Vue / Angular などが代表例

RESTful API + SPA の全体像

この構成では、役割が明確に分かれます。

  • バックエンド:RESTful API
    → データの取得・更新を担当
  • フロントエンド:SPA
    → 画面表示・ユーザー操作を担当

SPA が RESTful API を呼び出し、
取得したデータを元に画面を更新します。


MVC との違い

MVC では、サーバーが画面(HTML)を生成するケースが一般的でした。

一方、RESTful API + SPA では、

項目 MVC RESTful API + SPA
画面生成 サーバー フロントエンド
データ提供 Model RESTful API
役割分担 やや密結合 明確に分離

役割を分離することで、
フロントエンドとバックエンドを独立して開発しやすくなります。


メリット

ユーザー体験(UX)の向上

画面遷移時にページ全体を再読み込みしないため、
操作がスムーズです。


開発の分業がしやすい

  • フロントエンド担当
  • バックエンド担当

といった形で、チーム開発がしやすくなります。


APIの再利用が可能

同じ RESTful API を

  • Webアプリ
  • スマホアプリ
  • 外部サービス

などから利用できます。


デメリット

構成が複雑

MVCに比べて、

  • フロントエンド
  • バックエンド
  • API通信

と理解すべき要素が増えます。


学習コストが高い

JavaScriptやフレームワーク(React / Vue など)の知識が必要になり、
初心者には難しく感じることがあります。


向いているケース

  • 操作の多いWebアプリ
  • スマホアプリ展開を想定している
  • 中〜大規模開発

向いていないケース

  • 小規模な管理画面
  • 画面数の少ないシンプルなアプリ

まとめ

RESTful API + SPA は、

  • データ担当(API)
  • 画面担当(SPA)

を分離した、現代的なWebアーキテクチャです。

最初は難しく感じますが、
MVCを理解した後に学ぶことで、
Webアプリ全体の構造がよりクリアになります。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?