Was ist eine API?

Sie haben wahrscheinlich den Begriff "API" gesehen. Betriebssystem-, Webbrowser- und App-Updates kündigen häufig neue APIs für Entwickler an. Aber was ist eine API?

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 möchten, erledigt die Küche des Restaurants die Arbeit und versorgt Sie mit einigen fertigen Gerichten. Sie wissen nicht genau, wie das Restaurant das Essen zubereitet, und das müssen Sie auch nicht.

In ähnlicher Weise listet eine API eine Reihe von Vorgängen auf, die Entwickler verwenden können, sowie eine Beschreibung ihrer Arbeit. Der Entwickler muss nicht unbedingt wissen, wie beispielsweise ein Betriebssystem ein Dialogfeld "Speichern unter" erstellt und anzeigt. 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 für die API bereitstellen 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 arbeiten wird.

Aber es ist im Großen und Ganzen genau. Mithilfe von APIs können Entwickler Zeit sparen, indem sie die Implementierung einer Plattform nutzen, um die kleinste Arbeit zu erledigen. Dies reduziert die Anzahl der Codeentwickler, die erstellt werden müssen, und sorgt für mehr Konsistenz zwischen Apps für dieselbe Plattform. APIs können den Zugriff auf Hardware- und Softwareressourcen steuern.

APIs erleichtern Entwicklern das Leben

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 beispielsweise einen Webbrowser einbetten möchten, um eine oder mehrere Webseiten anzuzeigen, müssen Sie Ihren eigenen Webbrowser nicht nur für Ihre Anwendung von Grund auf neu programmieren. Mit der WKWebView-API können Sie ein WebKit-Browserobjekt (Safari) in Ihre Anwendung einbetten.

Wenn Sie Fotos oder Videos von der iPhone-Kamera aufnehmen möchten, müssen Sie keine eigene Kameraoberfläche schreiben. Sie verwenden die Kamera-API, um die integrierte Kamera des iPhones in Ihre App einzubetten. Wenn APIs nicht vorhanden wären, um dies zu vereinfachen, müssten App-Entwickler ihre eigene Kamerasoftware erstellen und die Eingaben der Kamerahardware interpretieren. Aber Apples Betriebssystementwickler haben 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 fortzufahren. Und wenn Apple die Kamera-API verbessert, nutzen alle Apps, die darauf angewiesen sind, diese Verbesserung automatisch.

Dies gilt für jede Plattform. Möchten Sie beispielsweise unter Windows ein Dialogfeld erstellen? Dafür gibt es eine API. Möchten Sie die Authentifizierung per Fingerabdruck unter Android unterstützen? Auch dafür gibt es eine API, sodass 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, zu deren Verwendung eine Anwendung möglicherweise nicht unbedingt berechtigt ist. Aus diesem Grund spielen APIs häufig eine große Rolle für die Sicherheit.

VERBINDUNG: So verhindern Sie, dass Websites nach Ihrem Standort fragen

Wenn Sie beispielsweise jemals eine Website besucht und in Ihrem Browser die Meldung angezeigt haben, dass die Website nach Ihrem genauen Standort fragt, 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 einfach fragen: "Wo sind Sie?" und der Browser erledigt die harte Arbeit des Zugriffs auf GPS oder Wi-Fi-Netzwerke in der Nähe, um Ihren physischen Standort zu finden.

Browser stellen diese Informationen jedoch auch über eine API zur Verfügung, da der Zugriff darauf gesteuert werden kann. Wenn eine Website Zugriff auf Ihren genauen physischen Standort haben möchte, können sie diesen nur über die Standort-API abrufen. Wenn eine Website versucht, sie zu verwenden, können Sie als Benutzer diese Anforderung zulassen oder ablehnen. Der einzige Weg, auf Hardwareressourcen wie den GPS-Sensor zuzugreifen, ist über die API, sodass der Browser den Zugriff auf die Hardware steuern und die Möglichkeiten von Apps einschränken kann.

Das gleiche Prinzip wird auf modernen mobilen Betriebssystemen wie iOS und Android angewendet, bei denen mobile Apps über Berechtigungen verfügen, die durch die Steuerung 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 keine Möglichkeit, auf die Kamera Ihres Geräts zuzugreifen.

Dateisysteme, die Berechtigungen verwenden - wie unter Windows, Mac und Linux -, haben diese Berechtigungen von der Dateisystem-API erzwungen. Eine typische Anwendung hat keinen direkten Zugriff auf die physische Rohfestplatte. Stattdessen muss die App über eine API auf Dateien zugreifen.

APIs werden für die Kommunikation zwischen Diensten verwendet

APIs werden auch aus allen möglichen anderen Gründen verwendet. Wenn Sie beispielsweise jemals ein in eine Website eingebettetes Google Maps-Objekt gesehen haben, verwendet diese Website die Google Maps-API, um diese Karte einzubetten. Google stellt APIs wie diese Webentwicklern zur Verfügung, die dann mithilfe der APIs komplexe Objekte direkt auf ihrer Website platzieren können. Wenn solche APIs nicht vorhanden wären, müssten Entwickler möglicherweise ihre eigenen Karten erstellen und ihre eigenen Kartendaten bereitstellen, um eine kleine interaktive Karte auf einer Website zu platzieren.

Da es sich um eine API handelt, kann Google den Zugriff auf Google Maps auf Websites von Drittanbietern steuern und sicherstellen, dass diese auf konsistente Weise verwendet werden, anstatt zu versuchen, einen Frame, der beispielsweise die Google Maps-Website anzeigt, unordentlich einzubetten.

Dies gilt für viele verschiedene Online-Dienste. Es gibt APIs zum Anfordern von Textübersetzungen von Google Translate oder zum Einbetten von Facebook-Kommentaren oder -Tweets von Twitter auf einer Website.

VERBINDUNG: Was ist OAuth? Funktionsweise dieser Facebook-, Twitter- und Google-Anmeldeschaltflächen

Der OAuth-Standard definiert auch eine Reihe von APIs, mit denen Sie sich bei einer Website mit einem anderen Dienst anmelden können. Sie können beispielsweise Ihre Facebook-, Google- oder Twitter-Konten verwenden, um sich bei einer neuen Website anzumelden, ohne ein neues Benutzerkonto nur für diese Website zu erstellen . APIs sind Standardverträge, die definieren, wie Entwickler mit einem Service kommunizieren und welche Art von Ausgabe diese Entwickler voraussichtlich zurückerhalten.

Wenn Sie dies überstanden haben, haben Sie eine bessere Vorstellung davon, was eine API ist. Letztendlich müssen Sie nicht wirklich wissen, was eine API ist, es sei denn, Sie sind Entwickler. Wenn Sie jedoch feststellen, dass eine Softwareplattform oder ein Dienst neue APIs für verschiedene Hardware oder Dienste hinzugefügt hat, sollte es für Entwickler einfacher sein, solche Funktionen zu nutzen.

Bildnachweis: patpitchaya / Shutterstock.com.