(Redirected from Application Programming Interface)
An 'application programming interface' (API) is a
source code interface that a computer application,
operating system or
library provides to support requests for services to be made of it by a
computer program.
[1] An API is similar to an
application binary interface (ABI) in that it specifies details of how two independent computer programs can interact, however 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, while
POSIX is an API.
[2]
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 does not get involved with implementation details.
Two well known APIs are the
Single UNIX Specification and the
Microsoft Windows API.
An API is often a part of a
software development kit (SDK).
The term API is used in two related senses:
★ A coherent interface consisting of several classes or several sets of related functions or procedures.
★ A single entry point such as a method, function or procedure.
Release policies
Two general lines of API publishing policies :
# Some companies protect information on their APIs from the general public. For example,
Sony used to make its official
PlayStation 2 API available only to licensed PlayStation developers. This enabled Sony to control who wrote PlayStation 2
games. Such control can have quality control benefits and potential license revenue.
# Some companies make their APIs freely available. For example, until the release of Windows Vista
Microsoft made most of its API information public, so that software would be written for the Windows
platform.
It is to be expected that companies base their choice of publishing policy on maximizing benefit to themselves.
Some example APIs
★ The PC
BIOS call interface
★
Single UNIX Specification (SUS)
★
Windows API
★
Java Platform, Standard Edition API
★
Java Platform, Enterprise Edition APIs
★
ASPI for
SCSI device interfacing
★
Carbon and
Cocoa for the
Macintosh OS
★
OpenGL cross-platform 3D graphics API
★
DirectX for
Microsoft Windows
★
Simple DirectMedia Layer (SDL)
★
Google Maps API
★
YouTube API
See also
★
Application binary interface (ABI)
★
Open Service Interface Definitions (OSID)
★
Plugin
★
Document Object Model
★
Web service
★
Mashup (web application hybrid)
References
1. QuickStudy: Application Programming Interface (API)
2. Update on Standards
External links
★
How to design a good API and why it matters-PDF
★
The trends and the role of API-driven mashup building tools in the enterprise computing
★
Service-Oriented Architecture (SOA): The Road to Enterprise Application Integration (EAI)
★
Organized list of API references with fast as-you-type search