APIs: Was man über die Programmierschnittstellen wissen muss
Wie ein Graphical User Interface (GUI) das Kommunizieren zwischen Mensch und Maschine ermöglicht, so erlaubt die API das Kommunizieren zwischen verschiedenen Software-Applikationen. Daten können dank der Programmierschnittstelle hin und her transferiert werden – und zwar in geordneten Bahnen. Das funktioniert selbst dann, wenn die Applikationen in verschiedenen Programmiersprachen verfasst wurden.
- DNS-Management
- SSL-Verwaltung
- API-Dokumentation
Was ist eine API?
API steht für Application Programming Interface und lässt sich als Programmierschnittstelle übersetzen. Wie der deutsche Name andeutet, erlaubt eine API fremden Programmierern den Zugriff auf ausgewählte Funktionen. Die Schnittstellen dienen quasi als Zugangspunkt für eine andere Software. Über die API können die beiden Programme miteinander kommunizieren, Daten austauschen und Befehle übergeben. Das funktioniert bei Desktop-Software genauso wie bei mobilen Apps oder Webanwendungen. Auch ein einzelnes Programm kann so aufgebaut sein, dass verschiedene Module untereinander per Schnittstellen miteinander kommunizieren.
Ein Application Programming Interface (API) ist eine Schnittstelle, die verschiedene Programme miteinander verbindet, um die Datenübertragung und den Austausch von Anweisungen zwischen Programmteilen zu standardisieren.
Wozu braucht man APIs?
Heutzutage werden APIs von verschiedenen Software-Herstellern bereitgestellt, um es Programmierern leichter zu machen, auf Software-Komponenten zuzugreifen. SAP, Amazon und Google beispielsweise bieten APIs für verschiedene Anwendungsbereiche. Über diese Schnittstellen können Developer unterschiedliche Aufgaben ausführen:
- Eine Anweisung des Programmierers an eine Software weiterleiten und dessen Reaktion empfangen
- Content in Webdienste einfügen
- App-Codes wiederverwenden dank Vernetzung von Programmen
- Zugriff durch andere Programmierer kontrollieren
Im täglichen Gebrauch kommen APIs beispielsweise bei Webdiensten zum Einsatz. Wer einen Flug bucht, der kann eine entsprechende Suchmaschine beauftragen, alle Flüge und Flugpreise zu einem bestimmten Ziel und Datum zu finden. Sobald man auf „Suchen“ klickt, fängt die Website an, mit den APIs der einzelnen Fluglinien zu kommunizieren, um die Preise zum Ziel abzufragen. Dies geschieht innerhalb weniger Sekunden, und der Kunde hat schnell eine Übersicht von buchbaren Flügen. Aber wie genau funktioniert das?
Lust, eine mobile App zu programmieren? Unser Einstiegsratgeber zum Thema Mobile App-Entwicklung hat alle wichtigen Infos.
Wie funktionieren APIs?
Obwohl sie dem Endnutzer zugutekommen, dienen APIs in erster Linie Programmierern. Das Application Programming Interface wird in der Regel von den Entwicklern einer Software bereitgestellt, damit die Programmierer anderer Anwendungen die Schnittstelle benutzen können. Die Programmierschnittstelle legt fest, wie Informationen und Daten zwischen Modulen entgegengenommen und zurückgesendet werden. Google etwa veröffentlicht die API, um es anderen Programmierern zu ermöglichen, ihre eigenen Applikationen an die Google-Dienste andocken zu lassen. Dafür verwendet man dann einen eigenen Standard, an den sich die externe Software halten muss.
Sehr beliebt für die Kommunikation zwischen Anwendungen – besonders innerhalb des Webs – ist das Protokoll REST. Eine REST-API verwendet die Befehle, die auch bei HTTP eingesetzt werden. Die Anweisungen sind nicht komplex und machen den Austausch von Informationen daher sehr einfach. Zusätzlich fällt es Programmierern durch das simple Protokoll leicht, die Anbindung an die API herzustellen.
Wichtig, um die Programmierschnittstelle bereitstellen zu können, ist also die Standardisierung – egal welches Protokoll man für den Austausch verwendet. Zusätzlich sollte man anderen Programmierern auch den richtigen Umgang mit der Schnittstelle näherbringen. Deshalb wird eine API oft mit ausführlichen Dokumentationen zu Syntax und Funktion bereitgestellt.
Welche Arten von APIs gibt es?
Es gibt grundsätzlich vier verschiedene Klassen von Programmierschnittstellen:
- Funktionsorientierte APIs
- Dateiorientierte APIs
- Protokollorientierte APIs
- Objektorientierte APIs
Bei der Wahl der Klasse kommt es auf den Anwendungsbereich an. Funktionsorientierte Programmierschnittstellen sind relativ komplexe Schnittstellen. Sie ermöglichen es Developern beispielsweise, auf Hardware-Komponenten zuzugreifen. Dabei werden immer nur Funktionen aufgerufen. Dateiorientierte APIs ermöglichen die Verbindung auf Dateiebene. Daten können somit abgefragt und geschrieben werden. Die protokollorientierte Schnittstelle dient der standardisierten Kommunikation zwischen Programmen, ist dabei aber unabhängig von Betriebssystemen oder Hardware. Die objektorientierten APIs sind flexibel einsetzbar.
Bei der Unterscheidung von APIs lassen sich außerdem die internen Schnittstellen von den öffentlichen abgrenzen. Private Schnittstellen stehen nur innerhalb eines Betriebs zur Verfügung. Sie kommen oft zum Einsatz, um firmeneigene Funktionalitäten zu verbinden, sodass Mitarbeiter oder Kunden über private Netzwerke Zugriff erlangen. Öffentliche Schnittstellen stehen jedem zur Verfügung und können oft bequem von Software-Developern eingesetzt werden. Google, Amazon, eBay, Facebook, Twitter und PayPal sind gute Beispiele für öffentliche APIs. Viele Hersteller (z. B. Google) laden außerdem Developer aktiv ein, an ihrer API-Entwicklung teilzunehmen.
Welche Vorteile haben APIs?
APIs bringen einige Vorteile mit sich, und zwar für unterschiedliche Gruppen: Nutzer profitieren ebenso von den Programmierschnittstellen wie interne oder externe Entwickler.
Entwickler, die ihre Programme mit guten Programmierschnittstellen ausstatten, können mit einer besseren Verbreitung rechnen. Da es anderen Programmierern so einfacher fällt, mit der Software zu interagieren, werden Anwendungen mit guter API bevorzugt. Externe Entwickler können den Funktionsumfang ihrer eigenen Software durch die Anbindung an andere Applikationen stark erweitern. Am Ende profitieren vor allem die Nutzer von der Verbindung über die Schnittstelle: Sie können auf diese Weise problemlos verschiedenste Programme miteinander kombinieren und so mehr Komfort genießen.
Beispiel: APIs und SDKs für Google Maps
Google Maps ist ein sehr bekanntes Beispiel für die Integration von APIs. Die berühmten Online-Navigationskarten wurden im Februar 2005 vorgestellt und sind seitdem für viele Endnutzer kaum noch wegzudenken – ob von Computern oder als App auf Smartphones.
Auf der Google Maps Platform können Developer auf SDKs und APIs zugreifen, die sich in ihre eigenen Apps, Programme und Webseiten integrieren lassen. Damit lassen sich die Funktionen von Google Maps schnell und einfach in andere Anwendungen einbinden. Mit der Maps JavaScript API beispielsweise können Besitzer von Webseiten bequem interaktive Karten hinzufügen. Das ist besonders attraktiv für Shops oder Restaurants, deren Geschäftserfolg oft davon abhängt, dass Kunden ihre Lokalitäten finden und besuchen.
Auch die Cloud Server von IONOS lassen sich über eine Schnittstelle kontaktieren. Wie das geht, erfahren Sie in der ausführlichen Dokumentation.
Wie kann man APIs testen?
Wer Application Programming Interfaces in Programme oder Anwendungen integriert, sollte diese zunächst testen, um sicher zu gehen, dass alles wie erwartet funktioniert, und die APIs nicht zu lange brauchen, um auf Information zuzugreifen. Developer, die eigene APIs schreiben, sollten diese ebenfalls erst einmal prüfen. Zum Glück ist das Testen von APIs heutzutage relativ einfach, nicht zuletzt dank Anwendungen wie Postman oder cURL.
Mit Postman lassen sich vom User definierte API Aufrufe testen. Developer können so ihre API Spezifikationen importieren und ausprobieren. Postman bietet außerdem Schema-Support für Formate wie RAML, WADL, OpenAPI, und GraphQL. Es können APIs sowohl im Anfangsstadium als auch im Endstadium der Entwicklung getestet werden. Die Preisstruktur von Postman unterscheidet sich je nach Bedarfsgröße. Kleinere Teams können für 12 US-Dollar pro Nutzer im Monat APIs designen und testen, während größere Firmen mit Postman Business für 24 US-Dollar im Monat (pro Nutzer) besser bedient sind. Ein Enterprise-Paket gibt es für Firmen mit mehr als 100 Usern.
CURL ist ein Command-Line-Tool, mit dem sich APIs testen lassen. Dies erfordert ein gutes Verständnis von Command-Line-Funktionen. Es ist nicht ganz so bequem wie Postman und bietet kein grafisches User Interface. Allerdings ist CURL gratis. Die Dokumente zu verschiedenen Themen lassen sich auf der CURL Projektseite einsehen.
Postman | CURL |
---|---|
Preise fangen bei 12 US-Dollar im Monat an | Gratis, Open Source |
Plattformbasierend | Command-Line-Tool |
Mit Postman lassen sich APIs detailliert testen | CURL wird häufiger genutzt, um schnell http-Header einzusehen |
- Flexibel: Hosting, das jedem Website-Traffic standhält
- Verlässlich: Inklusive 24/7-Support und persönlicher Beratung
- Sicher: Kostenloses SSL-Zertifikat, DDoS-Schutz und Backups