APIの正確な意味は何ですか?[閉まっている]


164

私はプログラミング言語でAPIの定義を検索しましたが、まだ理解するのが難しいと感じています。

誰かが私に単純な素人の言葉でアドバイスをくれますか?

  1. APIとは何ですか?
  2. 使い方は?
  3. いつ、どこで使用されますか?

7
最初にFOLDOCを試しましたか?foldoc.org/API彼らの定義私にかなり「素人」のようでした。
Ray Toal 2011

@pst誰がウィキペディアをチェックしないので、OPが既にウィキペディアを見ているのは当然だと思いますか?ウィキペディアをチェックする前に、FOLDOCの1995年の定義を使用する可能性について皮肉を誤解しました。コメントを削除しますか?
Ray Toal 2011

素人の説明を探している場合は、次を試してください:welcometosoftware.com/what-is-an-api(免責事項:私が作成しました)
Sam Malayek

回答:


129

検索にはWikipediaを含める必要があります。これは、アプリケーションプログラミングインターフェースなどのプログラミングの概念や用語の数に驚くほど優れています

APIとは何ですか?

アプリケーションプログラミングインターフェイス(API)は、ソフトウェアプログラムが互いに通信するために従うことができる特定ルール(「コード」)と仕様のセットです。これは、ユーザーインターフェイスが人間とコンピューター間の対話を容易にする方法と同様に、異なるソフトウェアプログラム間のインターフェースとして機能し、それらの相互作用を容易にします。

使い方は?

ルールのセットが使用されるのと同じ方法。

いつ、どこで使用されますか?

当然、レルムとAPIに依存します。これらを考慮してください:

  1. x86(IA-32)命令セット(非常に便利です;-)
  2. A BIOS割り込み呼び出し
  3. Cライブラリとして公開されることが多いOpenGL
  4. コアWindowsシステムコール:WinAPI
  5. Rubyのコアライブラリのクラスとメソッド
  6. ドキュメントオブジェクトモデル JavaScriptにブラウザによって公開されます
  7. FacebookのGraph APIによって提供されるようなWebサービス
  8. JavaでのJNIなどのプロトコルの実装

ハッピーコーディング。


4
「驚くほど良い」と呼びかける際の+1。コンピューティングに関しては、ウィキペディアがトップです。ウィキペディアとブリタニカのネイチャーによる比較を覚えている人もいるだろう:「ウォールストリートジャーナルによれば、「[ウェールズ]は、ネイチャーが科学関連のテーマを比較することを選んだことを嬉しく思います。弱い。」他の分野-コンピュータサイエンスや「スタートレック」の歴史など-ウィキペディアは「より良い方法」です」 ""(dailybarometer.com/forum/…から)
Ray Toal

2
@ user166390 apiのwikipediaエントリはかなり悪いです...私はapisを書いて、そのエントリは実際に私を混乱させました。どうやら明らかに悪化したので、あなたがやったことを引用した良いこと。
エリック2014

質問したいのは、ajaxリクエストのURLに入れられたphpファイルがAPIなのか、それともajaxリクエスト自体がすでにAPIなのか?
ブラウンマンリバイバル

APIはモノのインターネットにも使用されますか?または、IoTデバイスはどのようにデータを送受信しますか?
Pathros

57

APIは、ユーザーが他のユーザーのコードにアクセスしたり、他のユーザーのコードがユーザーのコードにアクセスしたりするためのインターフェースです。実際には、パブリックメソッドとプロパティです。


4
最後の文は注目に値し、さらに拡張される可能性があります...
tumultous_rooster 2014年

45

1)APIとは何ですか?

APIは契約です。特定の方法で尋ねられたときに説明されたサービスを実行する約束。

2)使い方は?

契約で指定されたルールに従って。APIの要点は、それがどのように使用されるかを定義することです。

3)いつ、どこで使用されますか?

2つ以上の別個のシステムが連携して、単独ではできないことを達成する必要がある場合に使用されます。


44

まあ、すべての答えに加えて、私は例を追加しています。

他の人が言ったAPI stands for Application Programming Interfaceようにsoftwares can interact with each other。注、人間の相互作用ではありません。

使用場所

例:クレジットカードを使用してオンラインで商品を購入しています。クレジットカードの詳細を入力し、[続行]ボタンを押します。それはあなたの情報が正しいかどうかを教えてくれます。これらの結果を提供するために、背景には多くのものがあります。

アプリケーションは、クレジットカードの詳細をリモートアプリケーションに送信します。リモートアプリケーションは、情報を検証し、結果をアプリケーションに送信します。このシナリオではAPIが使用されます。

私はそれが本当にAPIが何であるかを理解していない初心者のために役立つことを願っています。

もう一つの例

気象アプリケーション

APIがない場合 -天気アプリケーションは、weather.comサイトを開き、人間が行うように詳細を読み取る必要があります。

APIを使用すると、Weatherアプリケーションはweather.comにメッセージを送信し、結果を受信して​​表示します。

SOURCE-さまざまなオンラインリソース


2
毎日の例で明確に説明されているThankuは私のような新入生に役立つでしょう
sai

この場合、APIは、requesでデータを送信するweather.comです。またはAPIは、リクエストを送信し、データを受信して​​何らかの方法で表示する私のアプリですか?または、APIはweather.comと私のアプリの両方の関係ですか?
パヴェル

1
@PawełAPIは、データを要求するアプリケーションになります
Gibbs

@Pawełこのように考える:アプリには2つのインターフェースがあります。まず、人間のユーザーのためのUI(インターフェース)。2つ目は、別のアプリケーションプログラムのAPI(インターフェイス)です。したがって、weatherアプリケーションとweather.com間のAPIはweather.comです。
vpibano

15
  1. API(アプリケーションプログラミングインターフェース)は、基盤となるオペレーティングシステムや、コンピュータで実行されている別のプログラムやサービスとのインターフェースをとるために定義された関数とメソッドのセットです。

  2. これは通常、ソフトウェアのライブラリへの参照を確立するか、dllから関数をインポートすることによって使用されます。

  3. ほとんどすべてのソフトウェアで何らかの形で使用され、プログラムで明示的に呼び出されるか、コンパイラによって暗黙的に呼び出されます。


10

APIはApplication Programming Interfaceの略です。つまり、APIは、アプリケーションが特定のシステム/アプリケーション/ライブラリ/などと対話するための方法です。

たとえば、OS(WinAPI)用のAPI、他のアプリケーション(データベースなど)用のAPI、特定のライブラリ(画像処理など)用のAPIなどがあります。

APIは通常、クライアントアプリケーションが使用できる形式で開発されます。C / C ++アプリケーションの場合、ヘッダーファイルと動的/静的ライブラリを設定します。Javaの場合-jarのセット。等々。


APIはモノのインターネットにも使用されますか?IoTデバイスはどのようにデータを送受信しますか?
Pathros

7

これは、相互に作用するソフトウェアコンポーネントのセットです。これは、アプリケーション、オペレーティングシステム、またはその他のものを作成するための関数、変数、およびオブジェクトクラスのセットを提供します。


6

簡単に言えば、APIは異なる言語を話す2人の間の翻訳者のようなものだといつも言ってきました。ソフトウェアでは、API(またはトランスレータ)を使用してデータを消費または分散できるため、2種類のソフトウェアが通信できます。優れたソフトウェアには、セキュリティとデータのクリーンアップのためのルールとプロトコルに従う強力なトランスレータ(API)があります。

私はコーダーではなくマーケターです。これはすべて正しくないかもしれませんが、これは私が約10年間表現しようとしてきたことです...


5

APIは、特定のOSまたはその他のソフトウェア用のソフトウェアを作成するときにプログラマーが使用できるコマンド、関数、およびプロトコルのセットです。APIを使用すると、プログラマーは、定義済みの関数を使用して、最初から作成する代わりにオペレーティングシステムとやり取りできます。Windows、Unix、Mac OSなどのすべてのコンピュータオペレーティングシステムとJavaなどの言語は、プログラマにアプリケーションプログラムインターフェイスを提供します。

ソース


5

この状況を考慮してください:

マークとリサは密かに夫婦であり、年齢差があるため、一緒にすることはできません。マークとリサは、誰も見ていないときに毎晩会います。彼らは時が来たらコミュニケーションする方法を独自のルールのセットで確立しました。彼は彼女の庭に立って、彼女の窓に小さな岩を投げます。リサは時間だと認識し、窓から手を振って後で開くことで応答し、マークが登ることができます。これがAPIの動作例です。岩は別の目的への最初の要求です。別の終わりの波は、基本的に「ようこそ!」を意味するウィンドウを開きます。

APIはほとんど人間の言語に似ていますが、コンピューター用です。


3

APIは、あるソフトウェアがソースレベルで別のソフトウェアと通信するためのインターフェースを定義します。これは、1つのソフトウェア(通常はより高いレベルの部分)が別のソフトウェア(通常はより低いレベルの部分)から呼び出すことができるインターフェースの標準セット(通常は機能)を提供することによって抽象化を提供します。

たとえば、APIは、テキストの描画に必要なすべてを提供する一連の関数を使用して、画面上にテキストを描画するという概念を抽象化する場合があります。APIはインターフェースを定義するだけです。APIを実際に提供するソフトウェアは、APIの実装と呼ばれます。

APIを「契約」と呼ぶのが一般的です。APIは双方向の合意ではないので、これは少なくとも用語の法的な意味で正しくありません。APIユーザー(通常、上位レベルのソフトウェア)は、APIとその実装への入力がありません。APIをそのまま使用することも、まったく使用しないこともあります。そのままにしておいても、そのままにしておいてもかまいません。

APIの実際の例は、C標準によって定義され、標準Cライブラリによって実装されるインターフェースです。このAPIは、メモリ管理や文字列操作ルーチンなどの基本的で重要な機能のファミリを定義します。


0

ゲームを開発していて、ゲームユーザーがFacebookプロファイルにログインして(プロファイル情報を取得するため)プレイする前に、ゲームがFacebookにアクセスする方法を考えてみましょう。これでAPIが登場しました。Facebookは、ユーザーがそれを行うためのプログラム(API)をすでに作成しています。ゲームアプリケーションでそれらのプログラムを使用する必要があります。Facebook-APIを使用すると、アプリケーションでサービスを使用できます。 APIの詳細な外観... http://money.howstuffworks.com/business-communications/how-to-leverage-an-api-for-conferencing1.htm


3
そして、あなたは実際にはそれが何であるかを言いませんでした...:}そして、それはプログラムのようではなく、単なるインターフェースです。いくつかのプログラムを扱う方法。
Kamiccolo 2014

-1

アプリケーションプログラムインターフェイス(API)は、ソフトウェアアプリケーションを構築するための一連のルーチン、プロトコル、およびツールです。APIはソフトウェアコンポーネントがどのように相互作用するかを指定し、APIはグラフィカルユーザーインターフェイス(GUI)コンポーネントのプログラミング時に使用されます。優れたAPIは、すべての構成要素を提供することにより、プログラムの開発を容易にします。次に、プログラマーがブロックをまとめます。

ソース:http : //www.webopedia.com/TERM/A/API.html

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.