Jump to section

Was ist ein SDK?

URL kopieren

Ein Software Development Kit (SDK) besteht aus mehreren Tools, die (typischerweise) vom Hersteller einer Hardwareplattform, eines Betriebssystems oder einer Programmiersprache bereitgestellt werden.

Mithilfe von SDKs können Entwickler Anwendungen für diese spezifischen Plattformen, Systeme oder Programmiersprachen 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 – mit dem Unterschied, dass die Tools in einem SDK für die App-Entwicklung verwendet werden. Sie haben alles, was Sie für die Montage – oder die App-Entwicklung – 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 APIs. Es kann aber auch Folgendes enthalten:

Ein gutes SDK enthält alle Komponenten, die zur Erstellung neuer Anwendungen für das jeweilige Produkt und das zugehörige IT-Ökosystem benötigt werden. Manche SDKs enthalten außerdem ein Beispiel- oder Testprojekt, um den Entwicklern 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. 

Open your possibilities: Applications

Gordon Haff, Technology Evangelist bei Red Hat, spricht mit Coco Jaenicke über die häufigsten IT-Herausforderungen und -Chancen unserer Kunden zum Thema Anwendungen. Tipp: deutsche Untertitel einstellen.

In den meisten SDKs ist eine API enthalten, mit der neue Apps oder Projekte auf Quelltextebene (in der Befehlszeile) verknüpft werden können. Häufig enthalten sie außerdem Codebeispiele bzw. Beispielprogramme und -Libraries, mit denen Entwickler die Erstellung grundlegender Programme erlernen können. Darauf aufbauend können Sie sich an der Optimierung und Entwicklung komplexer Apps sowie am Debugging versuchen und neue Funktionen nach Bedarf hinzufügen.

Manche SDKs enthalten Dokumentation zur Verwendung der APIs sowie Lernprogramme, FAQs und Beispielgrafiken. Alles vor dem Hintergrund, dass es manchmal etwas dauern kann, bis ein Entwickler mit einem neuen SDK vertraut ist. Aus diesem Grund ist eine intuitive Programmierschnittstelle bzw. Benutzeroberfläche (oder umfassendere Dokumentation) hilfreich, damit sich Entwicklungsteams 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 sie dazu ermutigt, damit Apps auf ihrer Plattform oder ihrem Betriebssystem zu erstellen – in Echtzeit und in einer integrierten Entwicklungsumgebung. Aus diesem Grund sind die meisten SDKs kostenlos. Man muss sie einfach nur herunterladen und kann sofort anfangen zu programmieren. 

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. 

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 (Red Hat OpenShift) oder eine Runtime-Umgebung für die App-Entwicklung (Red Hat Runtimes) oder eine Entwicklungsumgebung mit allen Tools zum Entwickeln, Debuggen, Testen und Bereitstellen von Anwendungen benötigen – bei Red Hat sind Sie stets in guten Händen.

 

Weiterlesen

ARTIKEL

Zustandsbehaftet oder zustandslos?

Ob etwas zustandsbehaftet oder zustandslos ist, hängt davon ab, wie lange der Zustand der Interaktion erfasst wird und wie diese Informationen gespeichert werden müssen.

ARTIKEL

Was ist Quarkus?

Quarkus ist ein Kubernetes-nativer Java Stack für Java Virtual Machines (JVMs) und native Kompilierung, mit dem Java speziell für Container optimiert wird.

ARTIKEL

Was ist Serverless?

Der Begriff „Serverless" (serverlos) bezieht sich auf ein cloudnatives Entwicklungsmodell, bei dem Entwickler Anwendungen erstellen und ausführen können, ohne Server verwalten zu müssen.

Mehr über cloudnative Anwendungen erfahren

Produkte

Eine Plattform, die es Ihnen ermöglicht, Unternehmensanwendungen schnell und effizient über die von Ihnen gewünschte Infrastruktur bereitzustellen.

Ressourcen

Training

Kostenloses Training

Developing Cloud-Native Applications with Microservices Architectures