The abbreviation API stands for Application Programming Interface and describes a programming interface. The connection is made at the source code level. APIs are used in many applications and are used in the web environment in the form of web APIs.
Basics and properties of an API
A programming interface is used to exchange information between an application and individual program parts in a standardized manner. The transfer of data and commands is structured according to a previously defined syntax.
The API makes it possible to modularized and thus simplify programming. The individual program parts linked via an API fulfill specific functions and are clearly separated from the rest of the application. Communication between individual program modules is only possible via the precisely specified interface.
The API defines the form in which the information and data are received by the application module and sent back. The application programming interface does not take care of the actual program flow within the module. In contrast to a binary interface, the program connection in the API takes place purely on the source code level.
If a programming interface is provided, this is usually done together with detailed documentation of the individual functions, the exact syntax and the possible parameters. Hardware components, databases, individual program functions or interfaces and other elements can be accessed via the API.
Differentiation between user and programming interface
The application programming interface can be from a user interface (UI delineate exact). While the user interface provides the interface between the program logic and the user of the software, the application programming interface is the equivalent for machine-readable program code.
The user interface receives data from users, forwards it to the application for processing and returns the results to the user. The application programming interface does not interact with the user, but processes the data received from a program module and transmits the results back to the module.
Advantages through the use of programming interfaces
The consistent use of programming interfaces results in many advantages. Complex and very large software can be modularized using APIs and thus simplified. Individual functions can be outsourced in program modules, resulting in a clean overall structure.
Using the modular program code together with the APIs makes the programs less error-prone and easier to maintain. If individual functions work incorrectly, only the affected modules and the data transferred to the API need to be checked more closely.
Another advantage of a clearly documented programming interface compared to applications without API is the possibility of outsourcing programming work. Thanks to the programming interface, the development of individual sub-areas of software can be transferred to an external software company or a freelance developer with little effort. Third-party providers can also develop functions for the system themselves. This increases the attractiveness and flexibility of the overall product and creates clear competitive advantages.
Outwardly unchanged APIs also increase the long-term stability of a system. The actual program code can be changed as required without affecting modules that have been outsourced via the programming interface. Additional applications therefore do not have to be changed. Thanks to the continuity of the software, costs and labor can be minimized significantly.
Basic classification of the programming interfaces
Programming interfaces can be divided into four different types. These basic type classes are:
- function-oriented APIs
- file-oriented APIs
- object-oriented APIs
- protocol-oriented APIs
While function-oriented interfaces mainly use functions and their parameters for communication, file-oriented APIs address individual files and file functions with the help of various file system calls. Object-oriented programming interfaces work with so-called interface pointers and are significantly more flexible than purely function-oriented interfaces. An essential feature of protocol-oriented APIs is their independence from a defined operating system or specific hardware.
Examples of commonly used APIs
APIs can be found in many areas of the most diverse software applications. Many public web APIs are available in the web environment, with which offers can be integrated into your own applications. For example, there are APIs for services such as:
- Google Maps
In the web environment, APIs are often used in online shops and content management systems. This means that different payment service providers, online marketplaces, shop rating systems or shipping service providers and other services can be connected to the various systems in a standardized way with little effort.
The interfaces for authentication and authorization are a special type of web API. APIs such as Facebook Connect or the OpenID standard allow users to log in to other portals without the need for their own user administration. A single user identity can be used for many portals through these APIs.