API

aus WoltLab Wiki, der freien Wissensdatenbank

Unter einer API (Abkürzung von Application Programming Interface, deutsch: Schnittstelle für die Anwendungsprogrammierung) versteht man die Schnittstelle, die ein Betriebssystem oder eine Programmierplattform den Anwendungsprogrammen zur Verfügung stellt. Über diese Schnittstelle können die Anwendungsprogramme auf die Funktionen des Betriebssystems oder der Plattform zugreifen. Eine API besteht aus Routinen, Protokollen, Klassen etc., die die Anwendungsprogramme nutzen können.

Zum Beispiel stellt ein Betriebssystem eine API für den Zugriff auf Dateien zur Verfügung. Anwendungsprogrammen können und sollten diese API nutzen und brauchen sich um die Details der Dateiverwaltung nicht mehr selbst zu kümmern.

Das hat eine ganze Reihe von Vorteilen:

  • Anwendungsprogrammierer sparen sich Arbeit, weil sie fertige Funktionen nutzen können, statt sie selbst schreiben zu müssen;
  • Die Anwendung ist unabhängig von Details, die mit der Anwendung selbst nichts zu tun haben. Wenn das Betriebssystem in einer späteren Version zum Beispiel ein anderes Dateisystem einführt und die API kompatibel bleibt, funktionieren Anwendungsprogramme ohne Probleme weiter.
  • Eine dokumentierte API schafft eine klare Aufgabenteilung zwischen Plattform und Anwendung. Die Plattform stellt bestimmte Funktionen zur Verfügung, diese Funktionen sollen und können von den Anwendungen genutzt werden. Weder sollen die Anwendungen Funktionen neu implementieren, die schon in der API enthalten sind, noch dürfen sie Funktionen des Betriebssystems nutzen, die nicht in der API spezifiziert sind - in beiden Fällen riskieren sie sonst, dass das Anwendungsprogramm mit der folgenden Version der Plattform nicht mehr funktioniert.

Am konkreten Beispiel wBB

Beim wBB 1 und wBB 2 gibt es keine API für Hacks und Addons. Die Software selbst sowie Hacks und Addons greifen beliebig auf Funktionen und Klassen im Sourcecode zu oder implementieren sie neu. Für viele grundlegende Aufgaben der Software, wie zum Beispiel das Anlegen oder Anmelden von Usern, gibt es nicht einmal Methoden oder Funktionen, sondern sie sind überall dort, wo sie im Sourcecode benötigt werden, vollständig ausprogrammiert.

Ab der wBB-Version 2.1 gibt es einzelne Hilfsmittel für Addon-Programmierer, um Beispiel was das Anlegen von ACP-Menüpunkten oder Gruppenrecht-Variablen angeht. In anderen Bereichen, zum Beispiel beim Umgang mit Templates oder Sprachvariablen, bilden sich Praktiken heraus, die als kompatibel gelten und zum Teil von WoltLab dokumentiert werden. Hier wurde also bereits erste Schritte in Richtung einer API unternommen.

Beim wBB 3 soll sich hier einiges verbessern, wenn man den Ankündigungen der Entwickler glauben darf.

Zum einen wird es eine klare Trennung von Plattform (WCF) und Forensoftware geben. Das Framework stellt die Basisfunktionen wie Datenbankschnittstellen, Templates, User- und Rechteverwaltung, Lokalisierungsverwaltung (Sprachen) etc. zur Verfügung, die Forensoftware ist ein Anwendungsprogramm, dass auf diesem Framework aufbaut. Die bisherigen "Addons", also Portale, Galerien, Auktionen, Filedatenbanken etc., werden in diesem Modell WCF-Anwendungen wie das Forum sein und über eine klare Schnittstelle (API) mit dem WCF kommunizieren.

Zum anderen soll in Version 3 aber auch die Forensoftware selbst eine API erhalten, über die der Programmierer die Funktionalität des wBB erweitern können soll, ohne die PHP-Dateien oder Templates des Forums zu ändern. Der Einbau von Hacks und Addons wird damit für Administratoren einfacher, und vermutlich wird sich auch die Kompatibilität von Hacks mit verschiedenen Versionen des wBB (ab Version 3) verbessern. Zu Details schweigt sich WoltLab im Moment allerdings noch aus.

Weiterführende Links

'Persönliche Werkzeuge