Was ist eine API?
Die API steht als Abkürzung für das Application Programming Interface und wird im Deutschen als Programmierschnittstelle bezeichnet. Eine API ist der Teil einer Software, über die andere Programme und Plugins direkt angebunden werden können. Bei Programmierschnittstellen wird die Programmanbindung auf der Ebene des Quelltextes, also direkt im Programmcode, definiert. Dazu werden bei der Bereitstellung detaillierter Informationen in Form einer umfassenden Dokumentation geliefert, die alle Funktionen und Parameter der API bis ins Detail beschreibt.
WISSENSWERT: APIS SIND EIN WICHTIGES WERKZEUG IN DER ENTWICKLUNG, DA ÜBER PROGRAMMIERSCHNITTSTELLEN AUCH AUF HARDWARE (GRAFIKKARTEN, FESTPLATTEN USW.) UND DATENBANKEN ZUGEGRIFFEN WERDEN KANN. ZUDEM ERLEICHTERN APIS DAS ERSTELLEN VON BESTANDTEILEN DER GUI.
Beispiel „Windows Application Programming Interface“
Erst durch diese Schnittstelle können externe Softwareentwickler und -anbieter für Windows kompatible Programme entwickeln.
Programmschnittstelle ist nicht gleich Programmschnittstelle - Die verschiedenen Arten
- Funktionsorientierte API (Beispiel Dynamic Link Libary): Funktionsorientierte APIS basieren hauptsächlich auf Funktionen. Die Kommunikation funktioniert dabei nach dem Handles-Konzept. Sobald eine Funktion aufgerufen wird, erfolgt als Antwort ein Handle (Referenzwert). Über den Referenzwert können weitere Funktionen aufgerufen werden. Sobald die Funktionen verfügbar sind, wird das Handel bzw. der Referenzwert geschlossen.
- Dateiorientierte Programmierschnittstellen: Dateiorientierte APIs werden über die Systembefehle open, close, write und read gesteuert. Erklärung: Für das Senden von Daten wird üblicherweise write benutzt, während mit dem Befehl read empfangene Daten gelesen werden können.
- Objektorientierte APIs zeichnet eine hohe Flexibilität aus, da sie auf Schnittstellenzeigern basieren und meist noch eine Typenbibliothek mitliefern.
- Protokollorientierte Programmierschnittstellen dienen der Funktion von Hard- oder Software, wobei stets eine Neuimplementierung des Protokolls notwendig wird. Das ist oft mit entsprechendem Aufwand verbunden. Um diesen zu reduzieren, wird die protokollorientierte Schnittstelle in eine Interfaceschnittstelle und in eine funktionsorientierte Schnittstelle unterteilt.
WISSENSWERT: BEI DER PROTOKOLLORIENTIERTEN API GIBT ES EINE UNTERTEILUNG ZWISCHEN ALLGEMEINEN UND ANWENDUNGSORIENTIERTEN PROTOKOLLEN.