Difference between revisions of "Application programming interface"

From Wiki @ Karl Jones dot com
Jump to: navigation, search
(See also)
 
(5 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
== Description ==
 
== Description ==
  
An API expresses a software component in terms of its [[operations]], [[Input|inputs]], [[Output|outputs]], and underlying [[Data type|data types].  
+
An API expresses a software component in terms of its [[operations]], [[Input|inputs]], [[Output|outputs]], and underlying [[Data type|data types]].  
  
 
An API defines functionalities that are independent of their respective implementations, which allows definitions and implementations to vary without compromising each other.  
 
An API defines functionalities that are independent of their respective implementations, which allows definitions and implementations to vary without compromising each other.  
Line 11: Line 11:
 
== APIs and programming GUI components ==
 
== APIs and programming GUI components ==
  
In addition to accessing databases or computer hardware, such as hard disk drives or video cards, an API can ease the work of programming GUI components.  
+
In addition to accessing databases or computer hardware, such as hard disk drives or video cards, an API can ease the work of programming [[GUI]] components.  
  
 
For example, an API can facilitate integration of new features into existing applications (a so-called "plug-in API"). An API can also assist otherwise distinct applications with sharing data, which can help to integrate and enhance the functionalities of the applications.
 
For example, an API can facilitate integration of new features into existing applications (a so-called "plug-in API"). An API can also assist otherwise distinct applications with sharing data, which can help to integrate and enhance the functionalities of the applications.
Line 48: Line 48:
 
* [[SOAP]]
 
* [[SOAP]]
 
* [[Software development]]
 
* [[Software development]]
 +
* [[Software development kit]]
 
* [[Variable (computing)]]
 
* [[Variable (computing)]]
  
Line 53: Line 54:
  
 
* [https://en.wikipedia.org/wiki/Application_programming_interface Appplication programming interface] @ Wikepedia
 
* [https://en.wikipedia.org/wiki/Application_programming_interface Appplication programming interface] @ Wikepedia
 +
* [https://blog.apisyouwonthate.com/guessing-api-contracts-ac1b7eaebced Commit to API Contracts]
 +
 +
=== Public APIs ===
 +
 +
* [http://loripsum.net/ Loripsum.net]
 +
* [http://calapi.inadiutorium.cz/api-doc Church Calendar API]
 +
* [http://www.setgetgo.com/randomword/ Random word API]
 +
* [http://www.recipepuppy.com/about/api/ Recipe Puppy]
 +
* [http://fixer.io/ Foreign exchange rates and currency conversion]
 +
* [http://deckofcardsapi.com/ Deck of cards API]
 +
* [https://quotesondesign.com/api-v4-0/ Quotes on Design]
 +
* [http://sunrise-sunset.org/api Sunset and sunrise times API]
 +
 +
=== Lists of public APIs ===
 +
 +
* [https://github.com/toddmotto/public-apis Public APIs] compiled by Todd Motto
 +
* [https://en.wikipedia.org/wiki/List_of_open_APIs List of open APIs] @ Wikipedia
 +
* [http://www.programmableweb.com/apis/directory Search the Largest API Directory on the Web]
 +
* [https://www.publicapis.com/ Explore The Largest API Directory In The Galaxy]
 +
* [https://www.any-api.com/ Any API]
 +
* [http://www.computersciencezone.org/50-most-useful-apis-for-developers/ 50 Most Useful APIs for Developers]
 +
* [https://www.data.gov/developers/apis Data.gov APIs]
  
 
[[Category:Computer science]]
 
[[Category:Computer science]]

Latest revision as of 07:44, 14 September 2018

In computer programming, an application programming interface (API) is a set of routines, protocols, and tools for building application software.

Description

An API expresses a software component in terms of its operations, inputs, outputs, and underlying data types.

An API defines functionalities that are independent of their respective implementations, which allows definitions and implementations to vary without compromising each other.

A good API makes it easier to develop a program by providing all the building blocks. A programmer then puts the blocks together.

APIs and programming GUI components

In addition to accessing databases or computer hardware, such as hard disk drives or video cards, an API can ease the work of programming GUI components.

For example, an API can facilitate integration of new features into existing applications (a so-called "plug-in API"). An API can also assist otherwise distinct applications with sharing data, which can help to integrate and enhance the functionalities of the applications.

API libraries

APIs often come in the form of a library that includes specifications for:

SOAP and REST

In other cases, notably SOAP and REST services, an API is simply a specification of remote calls exposed to the API consumers.

See also

External links

Public APIs

Lists of public APIs