API – Application Programming Interface
What is an API and what types exist?
Smartpedia: An API – Application Programming Interface – is an interface for application programming and, as part of a system, offers other systems the option to connect.
API – a programming interface for other applications
API is an acronym and stands for Application Programming Interface and thus describes an interface for application programming. Basically, an API as part of a system or software offers other systems or programmes the possibility to connect in order to access, for example, system-internal libraries or stored data and files.
There are four different types of Application Programming Interfaces:
- 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 previous interfaces can no longer be used with a new software version, it 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 application programming interface is documented so that the connection of the various systems and programmes can function at all.
In times of online platforms and eco-systems, the documentation of application programming interfaces is becoming increasingly important. Good documentation 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 when programming extensions.
A “good” API documentation offers the following advantages:
- Increase of the digital range
In the context of online platforms and eco-systems, we speak of the digital reach of an application programming interface, which provides a basis for new services by making it available. The greater the reach, the more users use the interface. Alternatively, we also speak 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 using it. Acceptance increases. If developers can add meaningful functionality to the original product, both developer and user acceptance increases.
- Decreasing efforts and costs in support
A good interface 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 documentation contributes to product maintenance. It helps developers to know structures, resources, methods, etc., so that updates can ideally be made faster and better.
An impulse to discuss:
The importance of Application Programming Interfaces is underestimated. Not the platforms but open interfaces are the reason for success.
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.
Here you will find additional information from our Smartpedia section: