API
その機能を外部から使うために用意されている窓口(に関する決まり事)だよ
本当は「窓口に関する決まり事」だけど「窓口」と解釈した方がイメージしやすいと思うよ
「Application Programming Interface」の略だよ
簡単に書くよ
API(読:エーピーアイ)とは
その機能とは無関係なプログラムとかから その機能を利用できるようにするために用意されている、その機能にお仕事を依頼するための窓口(の使い方に関する決まり事)のこと
です。
詳しく書くよ
プログラミングをしていると、よく お世話になります。
サクっと一言で説明すると
プログラムや機能に用意された「そいつと無関係なプログラムから そいつにお仕事を依頼するための窓口」(を使うための決まり事)
が「API」です。
「Application Programming Interface(アプリケーション・プログラミング・インターフェース)」の略で「API」ね。
気が向いたら、覚えてあげてください。
※「Application Programming Interface」を何となく日本語にすると「ソフトをプログラミングするための接点」となります。[詳細]
例えば、そうですね。
あるところに、ピヨ太君の作ったピヨ太システムが ありました。
ピヨ太システムは、お金を入れるとケーキとコーヒーが出てくるシステムです。
ピヨ太システムの中には「お金を入れるとケーキを作る機能」と「お金を入れるとコーヒーを作る機能」が搭載されています。
ある日のことです。
ピヨ子さんがピヨ子システムを作ろうと思い立ちました。
ピヨ子システムは、お金を入れるとケーキと牛乳が出てくるシステムにするつもりです。
ここでピヨ子さんは思いました。
ピヨ太システムに搭載されている「お金を入れるとケーキを作る機能」を使わせてもらえないかしら?と。
確かに、そうですね。
ピヨ太システムの「お金を入れるとケーキを作る機能」を使わせてもらえれば、ピヨ子システムを作るときの手間を減らせます。
ピヨ子さんはピヨ太君に「ピヨ太システムの『お金を入れるとケーキを作る機能』を私にも使わせてください」と、お願いしました。
ピヨ子さんの頼みなら仕方ありませんね。
ピヨ太君はピヨ子さんのために、ピヨ子システム(外部のプログラム)から使える「ここにお金を入れると、ケーキが出てくるよ」機能を用意してあげました。
ただし、です。
「機能」という言い方をしましたが、実際には「お金を入れるとケーキを作る機能」と外部のプログラムの仲立ちをしてくれるだけです。
具体的には、入れたお金を「お金を入れるとケーキを作る機能」に渡して「お金を入れるとケーキを作る機能」から出てきたケーキを返します。
つまり
「お金を入れるとケーキを作る機能」に対する(外部からの)お仕事依頼を受け付ける窓口
なのです。
お待たせしました。
この
「お金を入れるとケーキを作る機能」に対する(外部からの)お仕事依頼を受け付ける窓口
が「お金を入れるとケーキを作る機能」のAPIです。
もう少し一般化した言い方をすると
外部のプログラムとかから その機能にお仕事を依頼するための窓口
です。
……というのは少し間違った説明ですけどね。
本当は
外部のプログラムとかから その機能にお仕事を依頼するための窓口の使い方とかに関する決まり事
がAPIです。
例えば「お金を入れるとケーキを作る機能」のAPIであれば
・お仕事を依頼するための窓口は、どこにあるの?
・窓口を使うときは、無言でお金を渡せばいいの?何か一声かける必要がある?
・窓口に渡すお金は現金?小切手?カード払いは いける?
・窓口から出てきたケーキは、どうやって受け取ればいいの?お皿を用意しておく必要とかある?
などの使い方ルールを含みます。
ただし、一般的には、窓口そのものと捉えた方がイメージしやすいはずです。
例えば「APIを提供する」という言い回しがあります。
これは「機能を使うための窓口と やり取りするときの あーだこーだをルール化して準備したから提供するね」を意味しますが「機能を使うための窓口を提供するね」と読み替えた方が分かりやすいはずです。
本来は、窓口そのものだけを指すのではなく、窓口とやり取りするためのルールも含むのがAPIです。
例えば「日本語で話しかけろ(やり取りするデータの形式は こうだ)」や「まず自分の名前を名乗れ(やり取りするときの手順は こうだ)」などの決まり事も含みます。
とはいえ、なんとなく理解するのであれば
API=機能に お仕事を依頼するための窓口
と捉えた方がイメージしやすいと思います。
例えば「Web API」は「Webシステム(の一機能)を外部から使うための窓口」です。
「Webベースで提供されているAPI」とも言えます。
「ピヨピヨAPI」であれば「ピヨピヨシステムをプログラムから利用するための窓口」ですかね。
「○○API」と出てきたら「○○をプログラムから利用するための窓口」と読み替えてみてください。
それで、なんとなくの意味は つかめるはずです。
一言でまとめるよ
まぁ「API」って単語が出てきたら「プログラムや機能に対する お仕事依頼用の窓口(を使うための決まり事)なんだな~」と お考えください。
おまけ
■訳してみるよ
「API」は「Application Programming Interface(アプリケーション・プログラミング・インターフェース)」の略です。
「application(アプリケーション)」の意味は「申請」とか「適用」とか「応用」とかです。
ただし、今回は多分「application software(アプリケーション・ソフトウェア)」の略です。
よく分からない人は単純に「ソフト」と解釈してください。
「programming(プログラミング)」はカタカナで「プログラミング」でイメージできますかね。
「interface(インターフェース)」の意味は「接点」とか「境界面」とか「接触面」とかです。
何となく くっつけると
ソフトをプログラミングするための接点
となります。






