Wiki Actu en

May 6, 2008

Wikipedia: Application programming interface

Filed under: — admin @ 12:39 am

An application programming interface (API) is a source code interface that an operating system, library or service provides to support requests made by computer programs.[1]

  • Language-dependent APIs are available only in a particular programming language. They utilize the syntax and elements of the programming language to make the API convenient to use in this particular context.
  • Language-independent APIs are written in a way they can be called from several programming languages. This is a desired feature for service style API which is not bound to a particular process or system and is available as a remote procedure call.

Contents

API versus ABI

An API is typically defined at a level much higher than ABI (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 OS Base.Bin Program is an Application_binary_interface|ABI], while [POSIX] is an API.[2]

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.

Release policies

There are two general kinds of API publishing policies that are often encountered:

  1. 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.
  2. Some companies make their APIs freely available. For example Microsoft makes the Microsoft Windows API public and Apple releases its APIs Carbon and Cocoa so that software can be written for their platform.

API examples

Below are listed some well known 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
  • iPhone API
  • OpenGL cross-platform 3D graphics API
  • DirectX for Microsoft Windows
  • Simple DirectMedia Layer (SDL)
  • Google Maps API
  • MediaWiki API
  • YouTube API

Language bindings and interface generators

Below are listed some interface generator tools.

  • SWIG
  • PyGTK: Python bindings for GTK
  • JSR 231 Java Binding for the OpenGL API
  • F2PY: Fortran to Python interface generator.

See also

  • Application Binary Interface (ABI)
  • Document Object Model (DOM)
  • Mashup (web application hybrid)
  • Open Service Interface Definitions (OSID)
  • Plugin
  • Software Development Kit (SDK)
  • Web service
  • List of 3D graphics APIs
This text comes from Wikipedia. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. For a complete list of contributors for this article, visit the corresponding history entry on Wikipedia.

No Comments

No comments yet.

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

Powered by WordPress