Created By:Aditya Singh | Created Date :13 March, 2023
Application Programming Interface (API)It is a kind of software interface that offers a service to other software components. A computer system that conforms to this standard is intended to implement or make available an API. The term API can refer to both specification and implementation.
It is not intended for direct use by any person (the end user) other than a computer programmer to incorporate it into the Software.
One of the purposes of APIs is to hide the internal details of how a system works, showing only the parts that a programmer finds useful and keeping them consistent even if the internal details later change. An API can be tailored for a specific pair of systems, or it can be a shared standard that enables interoperability between many systems.
The term API is often used to refer to web APIs that enable communication between computers connected over the internet. APIs have their origins in the 1940s, although the term didn't emerge until the 1960s and 1970s. Recent developments in APIs have led to the increasing popularity of microservices, which are loosely coupled services accessed through public APIs becomes.
While a graphical interface for an email client might provide the user with a button that performs all the steps needed to retrieve and highlight new emails, a file input/output API might provide the developer with a function that Copies a file from one location to another without the developer needing to understand the file system operations that take place behind the scenes.
In the 1940s, British computer scientists Maurice Wilkes and David Wheeler worked on a modular software library for EDSAC, one of the first computers. The subprograms in this library were stored on perforated paper tape organized in a filing cabinet.
The term "Application Program Interface" (without the suffix -ing) was first recorded in a paper entitled "Data Structures and Techniques for Remote Computer Graphics" presented at a 1968 AFIPS conference. The authors of this paper use the term to describe the interaction of an application, in this case a graphics program, with the rest of the computer system.
A consistent application interface (consisting of calls to FORTRAN subroutines) should free the programmer from dealing with the idiosyncrasies of the graphics display device and provide hardware independence when the computer or display is changed.