APIとは何かを銀行の窓口でたとえる

APIは「機能」ではなく「窓口」である

APIという言葉は難しそうに見えますが、正体はそれほど複雑ではありません。
APIとは、システムにお願いをするための受付窓口です。

ポイントは「処理そのもの」ではないことです。
処理はサーバーの内部で行われます。APIは、その依頼方法を決めています。

このイメージを銀行で考えると理解しやすくなります。

銀行の窓口で考える

銀行には金庫があります。
しかし、利用者が直接金庫に入ることはできません。

代わりに窓口があります。

  • 振込したい
  • 残高を知りたい
  • 引き出したい

これらはすべて、窓口を通して依頼します。
金庫の中身や仕組みは知らなくても利用できます。

この窓口に相当するのがAPIです。

システムの内部処理(口座管理・計算・記録)は、バックエンドが担当します。
APIは「何をどう頼めばよいか」を決めています。

Webでの実際の動き

例えば、天気アプリを開いたときの流れです。

1. アプリがAPIに「東京の天気」を要求
2. サーバーが天気情報を取得
3. 結果を返答
4. 画面に表示

GET /weather?city=tokyo

これは「東京の天気を教えてください」という意味の依頼です。
返ってくるのは画面ではなくデータです。

{
  "temp": 12,
  "weather": "cloudy"
}

アプリはこのデータを元に画面を作ります。

なぜAPIが必要なのか

直接データベースにアクセスすれば早そうに思えます。
しかし、それは危険です。

もし誰でも直接触れると、

  • データ削除
  • 改ざん
  • 情報漏洩

が起きます。

銀行の金庫に誰でも入れる状態になります。

そこで、窓口(API)を設けます。
窓口では、できることが決められています。

  • 残高確認は可能
  • 他人の口座閲覧は不可
  • 不正な要求は拒否

つまりAPIは、安全装置でもあります。

APIがあると何が変わるのか

APIがあることで、画面と処理を分離できます。

同じシステムを

  • Webサイト
  • スマホアプリ
  • 管理画面

から利用できます。

それぞれが同じ窓口に依頼するためです。

つまりAPIは、システムを複数の入り口から使えるようにします。

注意点:速いとは限らない

APIを使うと必ず高速になるわけではありません。
通信が増えるため、設計が悪いと逆に遅くなることもあります。

  • 細かく呼びすぎる
  • 不要なデータを取得する

この場合、待ち時間が増えます。
窓口に何度も並び直している状態に近いです。

よくある誤解

API=特別な技術

実際には通信の取り決めです。
新しい仕組みというより、役割の名前です。

APIは開発者だけのもの

ユーザー体験に直結します。
検索結果の速さや自動更新はAPIの影響です。

まとめ

APIはプログラムの内部処理ではありません。
システムと外部をつなぐ約束された依頼方法です。

銀行で言えば金庫ではなく窓口です。
利用者は内部構造を知らずにサービスを使えます。

Webサービスが複数のアプリやサイトから利用できるのは、
共通の窓口を持っているためです。

Webの理解は、画面を見ることから始まりますが、
仕組みを理解するには「どこにお願いしているか」を意識すると分かりやすくなります。