Was ist eine API?
Sie haben wahrscheinlich den Begriff "API" aufgetaucht. 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 wünschen, erledigt die Küche des Restaurants die Arbeit und liefert Ihnen fertige Gerichte. Sie wissen nicht genau, wie das Restaurant dieses Essen zubereitet, und Sie müssen es auch nicht.
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 und präsentiert. Sie müssen nur wissen, dass es für ihre 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 handelt es sich dabei eher um 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 reduziert die Menge an Code, die Entwickler erstellen müssen, und schafft außerdem 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 Vielzahl 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 nicht Ihre eigene Kamera-Schnittstelle schreiben. Sie verwenden die Kamera-API, um die integrierte Kamera des iPhones in Ihre App einzubetten. Wenn es hierfür keine APIs gibt, müssen 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? Dafür gibt es auch eine API, 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, zu deren Verwendung eine Anwendung möglicherweise nicht unbedingt berechtigt ist. Deshalb 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 Ort fragen, wo Sie sind.
Browser machen diese Informationen jedoch auch über eine API verfügbar, da der Zugriff darauf kontrolliert werden kann. Wenn eine Website auf Ihren genauen physischen Standort zugreifen möchte, können Sie ihn nur über die Standort-API erhalten. Wenn eine Website versucht, sie zu verwenden, können Sie als Benutzer diese Anfrage zulassen oder ablehnen. Die einzige Möglichkeit, auf Hardwareressourcen wie den GPS-Sensor zuzugreifen, besteht ü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 Berechtigungen haben, 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 kann nicht auf die Kamera Ihres Geräts zugreifen.
Dateisysteme, die Berechtigungen verwenden - wie unter Windows, Mac und Linux - 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 auf einer 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 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 außerdem eine Reihe von APIs, mit denen Sie sich mit einem anderen Dienst bei einer Website anmelden können. Beispielsweise können Sie sich mit Ihren Konten bei Facebook, Google oder Twitter bei einer neuen Website anmelden, 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.
Bildnachweis: patpitchaya / Shutterstock.com.