API(アプリケーション・プログラミング・インターフェイス、Application Programming Interface)とは、アプリケーションから利用できる、オペレーティングシステムやプログラミング言語で用意されたライブラリなどの機能の入り口となるものである。主に、ファイル制御、ウインドウ制御、画像処理、文字制御などのための関数として提供されることが多い。
例えば画面に「Hello World」と表示させる仕事を考えると:
明らかに最初のやり方は手間がかかり、加えて相当な量の情報を渡さなくてはならないため実用的ではない。下に行くほどより簡単になっており、3つ目のやり方になると、「Hello World」とタイプすればいいぐらいの手間になる。
しかし高レベルなAPIには柔軟性がないことがある。例えばウェブブラウザで文字を点滅させながら円を描くように回転させることは難しいが、低レベルなAPIを使えばもっと簡単に実現できる。APIの簡潔さをとるか柔軟性をとるかは十分にトレードオフを考慮する必要がある。
APIにはさまざまな設計モデルがある。 実行速度を考慮したインターフェイスは通常、関数、プロシージャ、変数やデータ構造から構成される。また例えばECMAScriptの構文を解析するためのインタープリタであることもある。良いAPIはブラックボックスであり、良い抽象化層であると言える。すなわちプログラマーはそのAPIの機能がより低レベルのAPIとどんな関係をもっているのかを知る必要がないのである。それはまた、そのAPIを使用しているコードを壊すことなく、APIの機能を再設計したり、改良したりすることを可能にしている。
APIの公開に関しては2つの一般的な方針がある。
使用料などを求められないAPIを「オープン」なAPIと言う。フリーソフトウェアで提供されるAPIはオープンなので、誰でもソフトウェアのソースを見たり、APIの実装を理解することができる。普通は、信頼ある組織からAPIの「リファレンス実装」が提供される(例えばWindowsの Win32 API)。それに新たな機能を追加することもできる。例えば、Win32 APIのほとんどはWINEというソフトウェアとしてUNIXシステムに提供されている。
互換性のためのAPIを作成するためにそのAPIの実装を解析することは一般的に合法である。この手法は相互運用性のためのリバースエンジニアリングと呼ばれる。しかし法律的な面ではあいまいな部分があるので、リバースエンジニアリングする前に十分注意して法的な検討もする必要がある。例えば、使おうとしているAPIに、特許保持者の許可がなければ使えない特許技術が許可なく含れていたら、それは違法になってしまう。
API | API | API | API | Programmierschnittstelle | Application programming interface | Application Programming Interface | API | Ohjelmointirajapinta | Interface de programmation | API | Application Programming Interface | Alkalmazásprogramozási felület | API | Application programming interface | API | Aplikacijų programavimo sąsaja | Application Programming Interface | API | API (informatyka) | API | Интерфейс программирования приложений | Application Programming Interface | API | API | Giao diện lập trình ứng dụng | 应用程序编程接口
This article is licensed under the GNU Free Documentation License.
It uses material from the
"Application Programming Interface".
Home Page • arts • business • computers • games • health • hospitals • home • kids & teens • news • physicians • recreation• reference • regional • science • shopping • society • sports • world