Anmelden / Registrieren Konto

Cloudnative Anwendungen

Was ist ein SDK?

Jump to section

Ein Software Development Kit (SDK) besteht aus mehreren Tools, das (typischerweise) vom Hersteller einer Hardwareplattform, eines Betriebssystems oder einer Programmiersprache bereitgestellt wird. Mithilfe von SDKs können Entwickler für diese Plattformen, Systeme oder Sprachen spezifische Anwendungen erstellen. Man kann sich das SDK als ein Werkzeug-Set vorstellen, das mit den Einzelteilen eines Schranks geliefert wird, den Sie gekauft haben und selbst aufbauen möchten. Sie haben alles, was Sie für die Montage brauchen. Was im Kit tatsächlich enthalten ist, variiert allerdings von Hersteller zu Hersteller. 

Zu einem herkömmlichen SDK gehören normalerweise Compiler, Debugger und Application Programming Interfaces (APIs). Es kann aber auch Folgendes enthalten:

Ein gutes SDK enthält alle Komponenten, die ein Entwickler zur Erstellung von Apps für das jeweilige Produkt benötigt. Manche SDKs enthalten außerdem ein Beispiel- oder Testprojekt, um dem Entwickler einen möglichst schnellen Einstieg zu ermöglichen.

Beispiele für ein SDK sind das Java Development Kit (JDK), das Windows 7 SDK, das MacOs X SDK und das iPhone SDK. Speziell das Kubernetes Operators SDK kann Sie bei der Entwicklung eigener Kubernetes Operators unterstützen. Es enthält APIs der höchsten Ebene, Tools für Scaffolding und Code-Entwicklung sowie Erweiterungen für viele generische Operator Use Cases. 

In den meisten SDKs ist eine API enthalten, mit der neue Apps oder Projekte auf Quelltextebene verknüpft werden können. Häufig enthalten sie außerdem Beispielcode bzw. Beispielprogramme und -Libraries, mit denen die Entwickler die Erstellung grundlegender Programme erlernen können. Darauf aufbauend können sie sich dann an der Entwicklung komplexer Apps versuchen. 

Manche SDKs enthalten Dokumentation zur Verwendung von Apps sowie Lernprogramme, FAQ und Beispielgrafiken. Alles vor dem Hintergrund, dass es manchmal etwas dauern kann, bis der Entwickler mit einem neuen SDK vertraut ist. Aus diesem Grund ist eine intuitive Programmierschnittstelle (oder umfassendere Dokumentation) hilfreich, damit sich Entwickler für ein bestimmtes Programm (und nicht für das eines Mitbewerbers) entscheiden.

Ein SDK stellt außerdem eine gute Möglichkeit dar, den Entwicklern ein Produkt vorzustellen. Gleichzeitig werden die Entwickler dazu ermutigt, damit Apps auf ihrer Plattform oder ihrem Betriebssystem zu erstellen. Aus diesem Grund sind die meisten SDKs kostenlos. Man muss sie einfach nur herunterladen und kann sofort anfangen zu programmieren. 

Überlegungen

Manche SDKs sind mit Richtlinien oder Vereinbarungen ausgestattet, die vor der Nutzung akzeptiert werden müssen. Das gilt speziell für neue Produkte in einer Alpha- oder Betaphase oder für Software mit Algorithmen, die nicht veröffentlicht werden (also nicht Open Source sind). Ein SDK kann auch einer Lizenzvereinbarung unterliegen, damit die entwickelte Software nicht unter einer inkompatiblen Lizenz veröffentlicht wird.

Entwickler müssen all dies berücksichtigen, wenn sie ein SDK auswählen. Zum Beispiel:

  • Ein SDK mit einer proprietären Lizenz ist mit der Entwicklung von Open Source-Software nicht kompatibel.
  • SDKs mit einer General Public License (GPL) können für die Entwicklung proprietärer Apps nicht genutzt werden.
  • Es gibt Ausschlussmöglichkeiten, mit denen eine Lesser General Public License (LGPL) für Projekte mit proprietären Code-Elementen umgangen werden kann. 

Warum Red Hat?

Open Source-Anwendungen werden kontinuierlich von Amateuren wie Profis entwickelt, weil die SDKs von Red Hat die Kodierung neuer Designs und Funktionserweiterungen ermöglichen, die dann wieder mit dem Rest der Community geteilt werden können. 

Red Hat kombiniert die besten Tools, Lösungen und Services der Anwendungsentwicklung, und alle sind Open Source. Ob Sie nun eine Plattform für Ihre App (Red Hat OpenShift), eine Runtime-Umgebung zu ihrer Entwicklung (Red Hat Runtimes) oder eine Entwicklungsumgebung mit allen Tools zum Entwickeln, Testen und Bereitstellen von Anwendungen (Red Hat CodeReady Studio) benötigen – bei Red Hat sind Sie stets in guten Händen.

Mehr erfahren: Automatisierte API-Dokumentation und SDK-Erstellung