Inhaltsverzeichnis:
- Programmierschnittstelle
- APIs machen das Leben für Entwickler einfacher
- APIs steuern den Zugriff auf Ressourcen
- APIs werden für die Kommunikation zwischen Diensten verwendet


Programmierschnittstelle
Der Begriff API ist ein Akronym und steht für "Application Programming Interface".
Stellen Sie sich eine API wie ein Menü in einem Restaurant vor. Das Menü enthält eine Liste der Gerichte, die Sie bestellen können, sowie eine Beschreibung der einzelnen Gerichte. Wenn Sie angeben, welche Menüpunkte Sie wünschen, erledigt die Küche des Restaurants die Arbeit und liefert Ihnen fertige Gerichte. Sie wissen nicht genau, wie das Restaurant diese Speisen zubereitet, und Sie müssen es nicht wirklich tun.
In ähnlicher Weise listet eine API eine Reihe von Vorgängen auf, die von Entwicklern verwendet werden können, sowie eine Beschreibung dessen, was sie tun. Der Entwickler muss nicht unbedingt wissen, wie beispielsweise ein Betriebssystem ein Dialogfeld "Speichern unter" erstellt. Sie müssen nur wissen, dass es für die Verwendung in ihrer App verfügbar ist.
Dies ist keine perfekte Metapher, da Entwickler möglicherweise ihre eigenen Daten an die API übergeben müssen, um die Ergebnisse zu erhalten. Vielleicht ist es eher ein schickes Restaurant, in dem Sie einige Ihrer eigenen Zutaten bereitstellen können, mit denen die Küche zusammenarbeitet.
Aber es ist weitgehend genau. Mithilfe von APIs können Entwickler Zeit sparen, indem sie die Implementierung einer Plattform für die Kernarbeit nutzen. Dies verringert die Menge an Code, die Entwickler zum Erstellen benötigen, und schafft darüber hinaus mehr Konsistenz für alle Apps auf derselben Plattform. APIs können den Zugriff auf Hardware- und Softwareressourcen steuern.
APIs machen das Leben für Entwickler einfacher
Angenommen, Sie möchten eine App für ein iPhone entwickeln. Das iOS-Betriebssystem von Apple bietet - wie jedes andere Betriebssystem - eine große Anzahl von APIs, um Ihnen dies zu erleichtern.
Wenn Sie einen Webbrowser einbetten möchten, um beispielsweise eine oder mehrere Webseiten anzuzeigen, müssen Sie Ihren eigenen Webbrowser nicht nur für Ihre Anwendung von Grund auf neu programmieren. Sie verwenden die WKWebView-API, um ein WebKit (Safari) -Browserobjekt in Ihre Anwendung einzubetten.
Wenn Sie Fotos oder Videos von der iPhone-Kamera aufnehmen möchten, müssen Sie keine eigene Kamera-Schnittstelle schreiben. Sie verwenden die Kamera-API, um die integrierte Kamera des iPhones in Ihre App einzubetten. Wenn es keine APIs gab, um dies zu vereinfachen, müssten App-Entwickler ihre eigene Kamerasoftware erstellen und die Eingaben der Kamera-Hardware interpretieren. Die Betriebssystementwickler von Apple haben jedoch all diese harte Arbeit geleistet, sodass die Entwickler einfach die Kamera-API verwenden können, um eine Kamera einzubetten, und dann mit dem Erstellen ihrer App fortfahren können. Wenn Apple die Kamera-API verbessert, werden alle darauf basierenden Apps automatisch von dieser Verbesserung profitieren.
Dies gilt für jede Plattform. Möchten Sie beispielsweise ein Dialogfeld unter Windows erstellen? Dafür gibt es eine API. Möchten Sie die Fingerabdruckauthentifizierung auf Android unterstützen? Es gibt auch eine API dafür, so dass Sie nicht den Fingerabdrucksensor jedes anderen Android-Herstellers testen müssen. Entwickler müssen das Rad nicht immer wieder neu erfinden.
APIs steuern den Zugriff auf Ressourcen
APIs werden auch verwendet, um den Zugriff auf Hardwaregeräte und Softwarefunktionen zu steuern, für die eine Anwendung nicht unbedingt die Berechtigung zur Verwendung besitzt. Aus diesem Grund spielen APIs oft eine große Rolle in der Sicherheit.
Wenn Sie beispielsweise eine Website besucht haben und in Ihrem Browser die Meldung erhalten haben, dass die Website nach Ihrem genauen Standort gefragt wird, versucht diese Website, die Geolocation-API in Ihrem Webbrowser zu verwenden. Webbrowser stellen APIs wie diese zur Verfügung, um Webentwicklern den Zugriff auf Ihren Standort zu erleichtern. Sie können nur nach dem Standort "Wo sind Sie?" Fragen. Der Browser muss den Zugriff auf GPS oder in der Nähe befindliche Wi-Fi-Netzwerke nur schwer durchführen, um Ihren physischen Standort zu ermitteln.

Das gleiche Prinzip wird auf modernen mobilen Betriebssystemen wie iOS und Android verwendet, bei denen mobile Apps über Berechtigungen verfügen, die durch die Kontrolle des Zugriffs auf APIs erzwungen werden können. Wenn ein Entwickler beispielsweise versucht, über die Kamera-API auf die Kamera zuzugreifen, können Sie die Berechtigungsanforderung ablehnen, und die App hat keinen Zugriff auf die Kamera Ihres Geräts.
Dateisysteme, die Berechtigungen verwenden, wie dies unter Windows, Mac und Linux der Fall ist, haben diese Berechtigungen durch die Dateisystem-API erzwungen. Eine typische Anwendung hat keinen direkten Zugriff auf die physische Festplatte. Stattdessen muss die App über eine API auf Dateien zugreifen.
APIs werden für die Kommunikation zwischen Diensten verwendet
APIs werden auch aus anderen Gründen verwendet. Wenn Sie beispielsweise ein Google Maps-Objekt in eine Website eingebettet gesehen haben, verwendet diese Website das Google Maps-API, um diese Karte einzubetten. Google stellt APIs wie diese für Webentwickler zur Verfügung, die dann die APIs verwenden können, um komplexe Objekte direkt auf ihrer Website zu platzieren. Wenn solche APIs nicht vorhanden sind, müssen Entwickler möglicherweise eigene Karten erstellen und eigene Kartendaten bereitstellen, um eine kleine interaktive Karte auf einer Website zu platzieren.
Da es sich hierbei um eine API handelt, kann Google den Zugriff auf Google Maps auf Websites von Drittanbietern steuern, um sicherzustellen, dass diese auf konsistente Weise verwendet werden, anstatt zu versuchen, einen Frame, der beispielsweise die Google Maps-Website anzeigt, unauffällig einzubetten.
Dies gilt für viele verschiedene Online-Dienste. Es gibt APIs für das Anfordern von Textübersetzung von Google Translate oder das Einbetten von Facebook-Kommentaren oder Tweets von Twitter auf einer Website.
Der OAuth-Standard definiert auch eine Reihe von APIs, mit denen Sie sich mit einem anderen Dienst bei einer Website anmelden können. Beispielsweise können Sie Ihre Konten bei Facebook, Google oder Twitter dazu verwenden, sich bei einer neuen Website anzumelden, ohne ein neues Benutzerkonto nur für diese Website zu erstellen. APIs sind Standardverträge, die festlegen, wie Entwickler mit einem Dienst kommunizieren und welche Art von Ausgabe diese Entwickler erwarten sollten.
Wenn Sie dies durchgemacht haben, haben Sie eine bessere Vorstellung davon, was eine API ist. Letztendlich müssen Sie nicht wirklich wissen, was eine API ist, wenn Sie kein Entwickler sind. Wenn Sie jedoch feststellen, dass eine Softwareplattform oder ein Dienst neue APIs für verschiedene Hardware oder Dienste hinzugefügt hat, sollten Entwickler diese Funktionen leichter nutzen können.