Ein SDK (Software Development Kit) ist ein Paket aus Werkzeugen, Bibliotheken, Beispielen und Dokumentation, mit dem Entwickler für eine bestimmte Plattform, ein Betriebssystem oder einen Dienst programmieren. Der Begriff ist weiter gefasst als „Bibliothek": Ein SDK bündelt alles, was man zum Loslegen braucht.
Was typischerweise enthalten ist
- Bibliotheken – fertiger Code, der Plattformfunktionen kapselt
- Compiler oder Interpreter – etwa beim Android SDK oder einem Sprach-SDK
- Debugger und Profiler – Werkzeuge zum Fehlersuchen und Messen
- Beispielprojekte – lauffähiger Startcode
- Dokumentation und Referenz
- Kommandozeilen-Werkzeuge – Build-, Paket- und Deploy-Befehle
Abgrenzung: SDK, API, Framework
Die drei Begriffe werden oft verwechselt:
- Eine API ist die Schnittstelle: eine definierte Menge von Aufrufen, die ein Dienst anbietet.
- Ein SDK ist das Paket, das diese Schnittstelle bequem nutzbar macht – meist inklusive fertiger Client-Bibliotheken.
- Ein Framework gibt dagegen den Rahmen der Anwendung vor und ruft den eigenen Code auf (Inversion of Control).
Merksatz: Das SDK ruft die API auf – das Framework ruft dich.
Beispiele aus der Praxis
- Android SDK – Baukasten für Android-Apps inklusive Emulator und Build-Tools
- AWS SDK – Bibliotheken für viele Sprachen, um Cloud-Dienste anzusprechen
- OpenAI SDK – Python- und Node-Pakete, die die OpenAI-API kapseln
- .NET SDK – Compiler, Laufzeit und Projektvorlagen für .NET
Worauf man beim Einsatz achtet
SDKs vereinfachen viel, bringen aber eigene Abhängigkeiten mit. Wichtig ist, die Version zu pinnen, Änderungsprotokolle zu verfolgen (Breaking Changes) und bei Sicherheitsupdates zeitnah nachzuziehen. Für einfache Fälle genügt oft ein direkter HTTP-Aufruf an die API – dann entfällt die zusätzliche Abhängigkeit.