- ベストアンサー
APIの定義とは?呼び出し手順とは?
- APIとは、OSやアプリケーションソフト、ウェブアプリケーションなどが持つ一部の機能を外部のアプリケーションから利用できるようにするインターフェースです。
- 具体的には、APIは機能の呼び出し手順や記述方法を定めた仕様を指します。
- また、APIはソフトウェア間でデータをやり取りする手順や形式を定めたものであり、特にOSやコンポーネントの機能を外部から利用するための規約を指します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
『インタフェース』 http://ja.wikipedia.org/wiki/%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%95%E3%82%A7%E3%83%BC%E3%82%B9 つまり、何か(A)と何か(B)の中間にある接続部分がインタフェースです。 例えばWindows OSにはGUI(Graphical User Interface)があります。 GUIがOS(A)と人間(B)の間にあるので、人間はOSの複雑な内部構造を知らなくてもGUIを経由してマウス操作をすることによりコンピュータを操作することができます。 APIはApplication Programming Interfaceですが、この場合APIは、呼び出す側のプログラム(A)と呼び出される側のプログラム(B)の間にあるインタフェースになります。大部分の場合、Aはあなたが作るプログラムで、Bは既存のプログラムになるでしょう。 例えば、地図を使ったアプリケーション(A)を作りたいと思ったとしましょう。 1から地図の機能を作ってもよいですが、Googleに高機能なGoogle Map(B)があるのであの機能が使えたら良いのに、、、と思います。 そこでGoogle MapのAPIを使い、地図機能はGoogle Mapを利用して自分のアプリケーションを作ることにします。 APIの具体的なものはは例えばこれです: http://code.google.com/intl/ja/apis/maps/documentation/javascript/reference.html#Map 「機能の呼び出し手順や記述方法などを定めた仕様」が書いてあるのが分かるでしょうか。あなたのプログラム(A)内から、APIのどんなメソッドをどういう記述方法で呼び出せばGoogle Map(B)のどの機能を利用できるのかが定義されています。 APIがあるので、あなたはGoogleがどうやってあのような優れた地図アプリケーションを作っているのかを理解しなくても、APIに従って記述することによりその機能の一部をあなたのプログラムから呼び出すことができます。
その他の回答 (3)
- kmee
- ベストアンサー率55% (1857/3366)
質問1と2の文章は、順番と表現が違うだけで、まったく同じことを説明しています。 1では 「APIはインターフェース」「インターフェースは(ここでは)プログラム間の規約」 2では 「インターフェースはプログラム間の規約」「APIはインターフェースの一種」 1の文章で理解できてないのですから、同じ事が書いてある2も理解できないでしょう。 ちなみに ・APIのIはインターフェースのIなので、「APIはインターフェース」というのは極当り前。 ・「インターフェース」は「複数のものを結ぶもの」という非常に大きな概念です。 登場する文脈により、何を表しているかが大きく変わります。
お礼
お返事遅れてしまい大変申し訳ありません、、 まったく同じことでしたか。。すみません。。理解不足でした。。
- DoubleHead
- ベストアンサー率41% (12/29)
なにか大学の本でも読んでおられるんでしょうか。 前の引数の質問も似たような感じですね、 概念的な言葉の羅列ばかり読んでいてもなにもわかりませんよ。 学校の課題なら先生に質問しましょう。 っと、これでは冷たいので。 プログラムってのは一から全て作ると大変なので 既に作成されたものを利用する、ということをよくします。 たとえばJavaなら他のJavaで作ったプログラムのクラスからオブジェクトを 作成してメソッドを呼び出したりします。 C言語なら他で定義された関数を呼び出します。 WEBの世界なら他のサイトで作成されたCGIなどの機能を 何らかの方法で呼び出して結果を自分のサイトに埋め込んだりします。 Googleマップの地図が企業やお店のサイトに埋め込まれてるのを 見たことあるでしょう。 ブログなどにGoogleやアマゾンの広告が埋め込まれているのを見たことがあるでしょう。 ああいうのはあらかじめ用意されたAPIを利用して実現しているわけです。 他にはWordのなかにExcelの表を埋め込むというのをやったことをありませんか? そういうふうに機能を部品として用意して利用してもらうということを よくやります。 機能を呼び出すとき、どのような順序で呼ぶのか データを渡すときどのような形式、データの順序で渡すのか というのがそのAPIを作った人が決めるわけです。 切符の自販機から切符を買うことを考えて見ましょう。 1.まずどこまで行くのか決めます。 2.値段を調べます。 3.自販機にお金を入れます。 4.目的地までの値段のボタンを押します。 5.切符とおつりを受け取ります。 という、データと操作のやり取りがありますよね。 このような切符を買うという機能を利用するための手順や決まりを プログラムの世界ではAPIとかシステムコールとかいろんな言い方をするわけです。 サブルーチンとかシステムコールなどはプログラムの中から他のプログラムを 呼び出すというイメージが多いのに対して APIはアプリケーションから他のアプリケーションの機能を呼び出すイメージを さす事が多いような気がします。 まぁ呼び方やイメージの違いだけといえばそうかもしれません。 本の抽象的な文章ばかり読まずに具体例を見ることをお勧めします。
お礼
お返事遅れてしまい大変申し訳ありません。。 具体例わかりやすかったです! 抽象的な文章ばっかりだとわからなくなりますよね、、ありがとうございます!
- shiren2
- ベストアンサー率47% (139/295)
OSには機能がありますよね。 例えば画面に何かを表示するには、描画する画面を意味するオブジェクトを取得して、そのオブジェクトに対して「これこれを描画してくれ」と指示を出します。 こういった手順が形式化されていないと、プログラマはどのようにしたら画面に何かを表示することが出来るのか分かりません。 形式化されているから、一定の手順を踏めば目的を達成出来ることが分かるんですね。 例えばスーパーで買い物をするのも、デパートで買い物をするのも同じですよね。 商品を手にして、レジに向かって、そこで店員さんにお金を払うと、目的のものを手に入れることが出来ます。 これが形式化された手続き(仕様や規約)ということです。
お礼
お返事遅れて大変申し訳ありません。。。 具体例があったため、大変わかりやすかったです! ありがとうございます!
お礼
お返事遅れてしまい大変申し訳ありませんでした。。 ありがとうございます! googleのHPの引用ありがとうございます! わかりやすかった! 説明も抜群によかったです。 ベストアンサー決定!