「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

API

pointこの用語のポイント

pointその機能を外部から使うために用意されている窓口(に関する決まり事)だよ

point本当は「窓口に関する決まり事」だけど「窓口」と解釈した方がイメージしやすいと思うよ

point「Application Programming Interface」の略だよ

スポンサーリンク

簡単に書くよ

API(読:エーピーアイ)とは

その機能とは無関係なプログラムとかから その機能を利用できるようにするために用意されている、その機能にお仕事を依頼するための窓口(の使い方に関する決まり事)のこと
です。


image piyo

詳しく書くよ

プログラミングをしていると、よく お世話になります。
サクっと一言で説明すると

プログラムや機能に用意された「そいつと無関係なプログラムから そいつにお仕事を依頼するための窓口」(を使うための決まり事)

が「API」です。

API

Application Programming Interface(アプリケーション・プログラミング・インターフェース)」の略で「API」ね。
気が向いたら、覚えてあげてください。

API2

※「Application Programming Interface」を何となく日本語にすると「ソフトをプログラミングするための接点」となります。[詳細]

例えば、そうですね。

あるところに、ピヨ太君の作ったピヨ太システムが ありました。
ピヨ太システムは、お金を入れるとケーキとコーヒーが出てくるシステムです。

API3

ピヨ太システムの中には「お金を入れるとケーキを作る機能」と「お金を入れるとコーヒーを作る機能」が搭載されています。

API4

ある日のことです。

ピヨ子さんがピヨ子システムを作ろうと思い立ちました。
ピヨ子システムは、お金を入れるとケーキと牛乳が出てくるシステムにするつもりです。

API5

ここでピヨ子さんは思いました。
ピヨ太システムに搭載されている「お金を入れるとケーキを作る機能」を使わせてもらえないかしら?と。

API6

確かに、そうですね。
ピヨ太システムの「お金を入れるとケーキを作る機能」を使わせてもらえれば、ピヨ子システムを作るときの手間を減らせます。

ピヨ子さんはピヨ太君に「ピヨ太システムの『お金を入れるとケーキを作る機能』を私にも使わせてください」と、お願いしました。

API7

ピヨ子さんの頼みなら仕方ありませんね。
ピヨ太君はピヨ子さんのために、ピヨ子システム(外部のプログラム)から使える「ここにお金を入れると、ケーキが出てくるよ」機能を用意してあげました。

API8

ただし、です。
「機能」という言い方をしましたが、実際には「お金を入れるとケーキを作る機能」と外部のプログラムの仲立ちをしてくれるだけです。
具体的には、入れたお金を「お金を入れるとケーキを作る機能」に渡して「お金を入れるとケーキを作る機能」から出てきたケーキを返します。
つまり

「お金を入れるとケーキを作る機能」に対する(外部からの)お仕事依頼を受け付ける窓口

なのです。

API9

お待たせしました。
この

「お金を入れるとケーキを作る機能」に対する(外部からの)お仕事依頼を受け付ける窓口

が「お金を入れるとケーキを作る機能」のAPIです。

API10

もう少し一般化した言い方をすると

外部のプログラムとかから その機能にお仕事を依頼するための窓口

です。

API11

……というのは少し間違った説明ですけどね。

本当は

外部のプログラムとかから その機能にお仕事を依頼するための窓口の使い方とかに関する決まり事

がAPIです。

API12

例えば「お金を入れるとケーキを作る機能」のAPIであれば

・お仕事を依頼するための窓口は、どこにあるの?
・窓口を使うときは、無言でお金を渡せばいいの?何か一声かける必要がある?
・窓口に渡すお金は現金?小切手?カード払いは いける?
・窓口から出てきたケーキは、どうやって受け取ればいいの?お皿を用意しておく必要とかある?


などの使い方ルールを含みます。

ただし、一般的には、窓口そのものと捉えた方がイメージしやすいはずです。

例えば「APIを提供する」という言い回しがあります。
これは「機能を使うための窓口と やり取りするときの あーだこーだをルール化して準備したから提供するね」を意味しますが「機能を使うための窓口を提供するね」と読み替えた方が分かりやすいはずです。

本来は、窓口そのものだけを指すのではなく、窓口とやり取りするためのルールも含むのがAPIです。
例えば「日本語で話しかけろ(やり取りするデータの形式は こうだ)」や「まず自分の名前を名乗れ(やり取りするときの手順は こうだ)」などの決まり事も含みます。

とはいえ、なんとなく理解するのであれば

API=機能に お仕事を依頼するための窓口

と捉えた方がイメージしやすいと思います。

例えば「Web API」は「Webシステム(の一機能)を外部から使うための窓口」です。
Webベースで提供されているAPI」とも言えます。
「ピヨピヨAPI」であれば「ピヨピヨシステムをプログラムから利用するための窓口」ですかね。

「○○API」と出てきたら「○○をプログラムから利用するための窓口」と読み替えてみてください。
それで、なんとなくの意味は つかめるはずです。


image piyo2

一言でまとめるよ

まぁ「API」って単語が出てきたら「プログラムや機能に対する お仕事依頼用の窓口(を使うための決まり事)なんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像045
書籍画像017

おまけ

■訳してみるよ

「API」は「Application Programming Interface(アプリケーション・プログラミング・インターフェース)」の略です。
「application(アプリケーション)」の意味は「申請」とか「適用」とか「応用」とかです。
ただし、今回は多分「application software(アプリケーション・ソフトウェア)」の略です。
よく分からない人は単純に「ソフト」と解釈してください。
「programming(プログラミング)」はカタカナで「プログラミング」でイメージできますかね。
「interface(インターフェース)」の意味は「接点」とか「境界面」とか「接触面」とかです。
何となく くっつけると

ソフトをプログラミングするための接点

となります。




書籍画像
わわわ説明術コラム
宣伝だよ
つくって、壊して、直して学ぶ Git&GitHub 入門
優れたエンジニアがコミュニティの中でしていること
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】