API – Application Programming Interface
What is an API and what types exist?
A programming interface for other applications
API is an acronym and stands for Application Programming Interface and thus refers to an interface for application programming. Basically, an API as part of a system or software offers other systems or programs the possibility to connect to it, for example to access internal system libraries or stored data and files.
There are four different types of API:
- The function-oriented API enables a program to directly access the hardware of a system, e.g. to activate a hardware device driver. The program sends a request via the API of the operating system to open a handle that passes the requested value to the program via its own interface. The handle can also unlock several functions, which can then be called using other requests.
- The file-oriented API enables communication with the storage media of the computer, so that files and folder structures can be requested, read or overwritten via request. The operating system is responsible for distributing and maintaining access rights.
- The protocol-oriented API works independently of hardware and operating system, communication takes place via protocols and libraries. It is regarded as flexible, although requests over several program components are not possible. The implementation of one or two libraries is often sufficient to guarantee the full scope of communication.
- The object-oriented API is used to combine the functionality of different classes. Such an interface is bound to several predefined restrictions, which are negotiated via the syntax.
Similar to software, an interface can also be further developed. If earlier interfaces can no longer be used with a new software version, this is called an “evolving API”. If the interface does not change despite a new software version, it is called a “stable API”. It is important that an API is documented so that the connection of the various systems and programs can function at all.
In times of online platforms and eco-systems, the documentation of Application Programming Interfaces becomes more and more important. A documented API offers the possibility to add services and functionalities to existing products. It is important for developers to understand the interface; documentation with details of functions, classes, return types, etc., possibly enriched with tutorials and examples, helps in programming extensions.
A “good” API documentation offers the following advantages:
- Increase of the digital range
In the context of online platforms and eco-systems, one speaks of the digital reach of an API, which, by providing it, creates a basis for new operations and services. The greater the reach, the more users utilise the API. Alternatively, one also speaks of the network effect.
- Greater acceptance
The same applies to an API as to a product: the better it works, the more people see value in its use. The acceptance increases. If developers can extend the original product with useful functions, acceptance increases both among developers and users.
- Decreasing efforts and costs in support
A good API documentation not only increases the level of awareness, digital reach and acceptance, but also reduces the time needed to train internal or external developers. This reduces support efforts and costs.
- Easier software maintenance
Furthermore, the API documentation contributes to product maintenance. It helps developers to know structures, resources, methods, etc., so that updates can ideally be made faster and better.
The accumulated experience of a developer in discovering and learning the possibilities, and the integration of new functions is called Developer Experience (DX).
The equivalent of the API is the user interface, with which users access the functions and data of a system. It is an important aspect for a positive user experience.