Application programming interface
From Wikipedia, the free encyclopedia
An application programming interface (API) is a set of functions, procedures, methods, classes or protocols that an operating system, library or service provides to support requests made by computer programs.[1]
Contents
[edit] API versus ABI
An API is typically defined at a higher level (i.e., in terms of a programming language that can be compiled when an application is built, rather than an explicit low level description of how data is laid out in memory). For example, the Linux Standard Base is an ABI (Application Binary Interface), while POSIX is an API.[2]
[edit] Distinction between specification and its implementation
The software that provides the functionality described by an API is said to be an implementation of the API. The API itself is abstract, in that it specifies an interface and the behavior of the identifiers specified in that interface; it does not specify how the behavior may be implemented.
[edit] Scope of the term in communications
The API acronym is often used in documentation, discussions or other communications in reference to all of the programming interfaces in the set, a single function in the set and sometimes multiple APIs provided by an organization. Thus the scope is usually determined by the person, entity or document that communicates the information.
[edit] Release policies
There are two general kinds of API publishing policies that are often encountered:
[edit] API examples
Below are listed some well-known APIs.
[edit] Language bindings and interface generators
Below are listed some interface generator tools.

