Application_Programming_Interface
[Wikipedia|▼Menu]

この記事には独自研究が含まれているおそれがあります。問題箇所を検証出典を追加して、記事の改善にご協力ください。議論はノートを参照してください。(2019年10月)

ウィキペディアなど、MediaWikiに対して使えるAPIについては、MediaWikiの解説ページをご覧ください。

アプリケーションプログラミングインタフェース(API、: Application Programming Interface)[1]とは、広義ではソフトウェアコンポーネント同士が互いに情報をやりとりするのに使用するインタフェースの仕様である。

APIには、サブルーチンデータ構造オブジェクトクラス、変数などの仕様が含まれる。APIには様々な形態があり、POSIXのような国際標準規格、マイクロソフトWindows APIのようなベンダーによる文書、プログラミング言語の標準ライブラリ(例えば、C++Standard Template LibraryやJava API(英語版)など)がある。

商業的に使われる狭義では、各種システムやサービス(ハードウェア、OSミドルウェアおよびWebサービス等)を利用するアプリケーションソフトウェア (Application) を開発・プログラミング (Programming) するためのインタフェース (Interface) である[2][3][4][5][6]。こちらの意味では、システムやサービスから直接提供されないもの、例えば言語の標準ライブラリは含まない。

APIはApplication Binary Interface (ABI) とは異なる。APIはソースコードベースだが、ABIはバイナリインタフェースである。例えば、POSIXはAPIだが、Linux Standard Base (LSB) はABIである[7](LSBはいろいろな規定の集合なので、正確には「LSBには、ABIにまで踏み込んでいる部分もある」)。目次

1 概要

1.1 隠しAPI

1.2 ライブラリとAPI


2 詳細

2.1 ライブラリとフレームワーク

2.2 APIとプロトコル

2.2.1 オブジェクトAPIとプロトコル



3 ウェブAPI

3.1 ウェブによるコンテンツ共有

3.2 様式


4 実装

5 公開の方針

6 リバースエンジニアリングと著作権

7 類似する概念

8 APIの例

9 言語束縛とインタフェースジェネレータ

10 脚注

11 関連項目

12 外部リンク

概要

広義のAPIでは単なるライブラリのインタフェースを含むかどうかにばらつきがあるなど定義が曖昧であるため、ここでは狭義のAPIについて説明する。

前述のとおりAPIは各種システム/サービスがそのシステム/サービスを利用するアプリケーションに対して公開するインタフェースである。APIの重要な役割は、システム/サービス提供者が公式に仕様(外部仕様)を定義し、管理している各種機能を利用するための操作方法(インタフェース)を提供することである。APIは多くの場合、アプリケーションを構築する言語と同じ言語のライブラリ、あるいは通信プロトコル形式[8]として提供され、システム/サービス開発者によって提供・管理される。

アプリケーションがシステム/サービスを利用するには、公開されたAPIを無視してシステム/サービスの現在の実装および内部仕様に依存した方法で利用できるケースもあるが、システム/サービス提供者はアプリケーションがAPI以外の仕様や実装に依存していることは関知せず、API以外の仕様や実装が永続的に維持されることも保証しない。


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:53 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef