API: Difference between revisions

Content deleted Content added
No edit summary
Reverted 2 edits by 95.56.108.95 (talk) (TW)
Line 1:
n{{short description|Set of subroutine definitions, protocols, and tools for building software and applications}}
 
{{hatnote group|
{{redirect|API}}
{{hatnote|"Api.php" redirects here. For the Wikipedia API, see {{Plain ≤–supercell of natural light bulbs in a way of making it easy for you in the same kind as it is a very good idealink|https://en. File,conectedsmilewikipedia.org/w/api.gpg php|/w/api.php}}.|selfref=true}}
}}
 
An '''application programming interface''' ('''API''') is a [[Interface (computing)|computing interface]] which defines interactions between multiple software intermediaries. It defines the kinds of calls or requests that can be made, how to make them, the data formats that should be used, the conventions to follow, etc. It can also provide extension mechanisms so that users can extend existing functionality in various ways and to varying degrees.<ref name="Fisher1">{{Cite web |url=https://books.google.com/books?id=YToEAAAAMBAJ&pg=PA6&dq=application+programming+interface#v=onepage |title=OS/2 EE to Get 3270 Interface Early |last=Fisher |first=Sharon |date=1989 |website=Google Books}}</ref> An API can be entirely custom, specific to a component, or it can be designed based on an industry standard to ensure interoperability. Through [[information hiding]], APIs enable [[modular programming]], which allows users to use the interface independently of the implementation.
Line 17 ⟶ 18:
A single API can have multiple implementations (or none, being abstract) in the form of different libraries that share the same programming interface.
 
The separation of the API from its implementation can allow programs written in one language to use a library written in another. For example, because [[Scala (programming language)|Scala]] and [[Java (programming language)|Java]] compile to compatible [[bytecode]], Scala developers can take advadvantage of any Java API.<ref name="OderskySpoonVenners8">{{Cite web |url=http://www.artima.com/pins1ed/combining-scala-and-java.html |title=Combining Scala and Java |last1=Odersky |first1=Martin |last2=Spoon |first2=Lex |date=10 December 2008 |website=www.artima.com |access-date=29 July 2016 |last3=Venners |first3=Bill}}</ref>→→floormats
# Numbered list item
</ref>antage of any Java API.<ref name="OderskySpoonVenners8">{{Cite web |url=http://www.artima.com/pins1ed/combining-scala-and-java.html |title=Combining Scala and Java |last1=Odersky |first1=Martin |last2=Spoon |first2=Lex |date=10 December 2008 |website=www.artima.com |access-date=29 July 2016 |last3=Venners |first3=Bill}}</ref>
 
API use can vary depending on the type of programming language involved.
Line 238 ⟶ 237:
* {{Cite journal |last=Taina Bucher |year=2013 |title=Objects of Intense Feeling: The Case of the Twitter API |url=http://computationalculture.net/article/objects-of-intense-feeling-the-case-of-the-twitter-api |journal=Computational Culture |issn=2047-2390 |number=3|ref=none}} argues that "APIs are far from neutral tools" and form a key part of contemporary programming, understood as a fundamental part of culture.
 
{{Operating system}}hacked.
 
{{Authority control}}