Welche Typklassen gibt es?
Grundsätzlich sind Programmierschnittstellen in vier verschiedene Typen zu unterteilen:
- Funktionsorientiere API: Diese Schnittstellen ermöglichen Entwicklern auf die Hardware zuzugreifen, wobei immer nur Funktionen abgerufen werden können.
- Dateiorientierte API: Hierbei wird eine Verbindung auf Dateiebene ermöglicht, wodurch Dateien abgefragt, gelesen und gesendet werden können.
- Objektorientierte API: Diese Schnittstellen sind für die genannten Zwecke flexibel einsetzbar und nutzen den Klassenaufbau von Programmen.
- Protokollorientierte API: Diese Schnittstellen sind unabhängig von Hardware und Betriebssystem und dienen einer standardisierten Kommunikation zwischen den jeweiligen Programmen.
Zusätzlich kann eine Unterscheidung in private und öffentliche APIs erfolgen. Öffentliche Schnittstellen können von allen Entwicklern bei Bedarf genutzt werden. Google, eBay und auch Amazon bieten öffentliche APIs an, um so die Erweiterung ihres Geschäftsökosystems zu fördern. Private Schnittstellen können dagegen nur von betriebsinternen bzw. ausgewählten externen Entwicklern genutzt werden.
Wo werden APIs angewendet?
Programmierschnittstellen werden verwendet, um Informationen zuverlässig in nahezu Echtzeit zwischen Programmen und einzelnen Programm-Modulen zu übertragen und sind in verschiedenen Bereichen von Softwareanwendungen zu finden. Im Web-Umfeld sind Schnittstellen besonders häufig bei Online-Shops vorzufinden, da dadurch unterschiedliche Bewertungssysteme, Versanddienstleister oder Bezahldienstleister integriert werden können. Die Schnittstellten funktionieren dabei nach einer festgelegten Syntax. Diese wird von den Entwicklern detailliert in schriftlicher Form festgehalten, damit andere Nutzer die Schnittstelle in ihrer Funktionsweise nachvollziehen können und so die Möglichkeit zur Weiterentwicklung erhalten bleibt.
Worin besteht der Unterschied zu einer Benutzerschnittstelle?
Eine Benutzerschnittstelle (User Interface) bezeichnet eine Schnittstelle zwischen einem Programm und dem jeweiligen Anwender der Software. Dabei nimmt diese Schnittstelle den Input des Anwenders auf und leitet ihn anschließend an das entsprechende Programm weiter, sodass im Anschluss eine Wiedergabe der Ergebnisse für den Anwender erfolgt. Bei einer API kommt die Schnittstelle und der Anwender nicht in Berührung.
Worin besteht das Potenzial einer API?
Ein Programmcode, welcher Programmierschnittstellen beinhaltet, macht eine Software grundsätzlich weniger fehleranfällig und ermöglicht eine einfachere Wartung, denn Programmierern wird der Zugriff auf die verschiedenen Software-Komponenten durch eine Modularisierung (Zerlegung der komplexen Software in einzelne Programmteile) vereinfacht. Zudem können Entwickler, welche ihre Programme mit APIs versehen, mit einer erhöhten Verbreitung des Programms rechnen, da andere externe Entwickler mit der Software leichter interagieren bzw. weitere Programme integrieren können. Diese externen Entwickler können zudem so den Funktionsumfang des eigenen Programms erweitern. Daraus resultieren Vorteile für die Nutzer der Software, da diese verschiedenste Programme vereinfacht zur selben Zeit nutzen können.