es geht um die Begriffe SDK, API, Framework, Middleware.
Hallo,
machen wir’s hierarchisch:
API ist die reine Definition einer Softwareschnittstelle, also die Beschreibung der aufrufbaren Funktionen und ihrer Parameter, sowohl formal als auch welche Bedeutung Parameter und Ergebnis haben. Kann also auch nur gedruckt sein. Oder im Kopf.
Ein SDK sollte alles Nötige und Wünschenswerte für die Benutzung so eines API liefern, also z.B. Funktionsdefinitionen etwa für C,C++ usw. Der Umfang ist unterschiedlich, Dateien für Basic oder Delphi sind eher selten. Diese Dateien kann man sich natürlich anhand des API selbst schreiben, aber bei hunderten Funktionen artet das in Arbeit aus. Zusätzlich sind je nach Bedarf spezielle Linker oder Ressourcen-Umsetzprogramme enthalten, jedoch nicht der/die Compiler, schon aus Preisgründen.
Ein Framework ist ein Überbau zu einem API zur weiteren Arbeitserleichterung, indem oft gebrauchte Funktionalitäten vordefiniert werden. Z.B. werden im Windows API Scrollbalken mit einer Vielzahl von Messages gesteuert (wie die meisten anderen Dinge auch), ein Framework liefert dafür ein Objekt Scrollbalken mit möglichst einfach zu benutzenden Eigenschaften und Methoden. Darauf bauen hierarchisch weitere Objekte auf, z.B. Fenster, bei denen man nur die Eigenschaft Scrollbalken auf True setzen muss, dann hat es welche. Im Prinzip kann man ein Framework übrigens auch ohne Objekt-Orientierung schreiben, aber zeitgemäss ist das nicht mehr.
Middleware gehört hier weniger rein, das ist eher eine Erfindung der Werbung. Man bezeichnet damit Software, die den Zugriff von z.B. einem Buchungssystem auf eine andere, z.B. eine Grossrechner-Datenbank, ermöglicht. Anders gesagt, Middleware ist nur mit einer Software davor und dahinter überhaupt verwendbar und tritt im Idealfall dabei garnicht in Erscheinung. Im PC-Bereich hat zumindest der Begriff kaum Bedeutung, Techniken zum Datenbankzugriff konnte/musste man früher extra erwerben, sind aber inzwischen Bestandteil von Windows.
Gruss Reinhard