Definition „Software Development Kit“

Was ist ein SDK?

| Autor / Redakteur: chrissikraus / Stephan Augsten

Über ein SDK stellt ein Software-, Service- oder Hardware-Anbieter hilfreiche Tools und Dokumentationen für Entwickler bereit.
Über ein SDK stellt ein Software-, Service- oder Hardware-Anbieter hilfreiche Tools und Dokumentationen für Entwickler bereit. (Bild: falconp4 - Pixabay.com / CC0)

In einem Software Development Kit, kurz SDK, finden Entwickler viele hilfreiche Ressourcen, die sie zur Erstellung einer Software mittels einer bestimmten Technologie benötigen: Dokumentationen, Werkzeuge, Bibliotheken und auch Beispiele.

Egal ob Firmware oder Smartphone-App: Wer Software für eine bestimmte Plattform entwickeln möchte, muss zuvor einige Dinge wissen – zum Beispiel welche Schnittstellen der Hersteller zur Verfügung stellt und wie mit ihnen gearbeitet werden kann. Viele Hersteller geben deshalb umfangreiche Software Development Kits (SDKs) für ihre Produkte heraus. Sie enthalten eine Sammlung an nützlichen Werkzeugen und Ressourcen, welche Entwicklern die Arbeit erleichtern sollen.

Alle wichtigen Ressourcen in einem Paket

Der genaue Inhalt eines SDK kann von Fall zu Fall sehr stark variieren, da er je nach Materie unterschiedlich komplex ausfällt. Meistens enthält das Kit mindestens die nötigen APIs für ein bestehendes System und Dokumentationen, die dem Entwickler Auskunft über verfügbare Schnittstellen oder den allgemeinen Aufbau geben. Mithilfe dieser Informationen erfährt der Entwickler, ob und wie seine Idee in das bestehende System integriert werden kann.

Hin und wieder sind auch Beispiele und kleine Testprojekte enthalten, die mögliche Anwendungen des SDK beleuchten oder den Einstieg in die Materie erleichtern. Manchmal sind zudem bestimmte Bibliotheken notwendig, damit die neue Software mit dem bestehenden System zusammenarbeiten kann oder spezielle Zusatzfunktionen verfügbar werden. Einige Szenarien erfordern außerdem besondere Tools oder spezielle Treiber, damit man neue Software für die Komponenten des Herstellers entwickeln kann.

Häufig stellen Hersteller SDKs für ihre Hard- oder Software kostenfrei zur Verfügung. Die Absicht dahinter ist, interessierten Entwicklern das Programmieren von Plug-ins oder Apps für das System möglichst einfach zu machen. Durch die so entstehende Vielfalt an Anwendungen gelingt es schließlich, den Mehrwert für Endnutzer zu steigern.

Ein simples Beispiel sind Smartphones: Ohne die zahlreichen Apps von Drittanbietern wären die smarten Mobiltelefone deutlich weniger vielseitig. Deshalb stehen für alle gängigen Smartphone-Plattformen SDKs zur Verfügung, mit denen ambitionierte Programmierer ihre Ideen realisieren und veröffentlichen können.

IDE zum SDK

Gelegentlich gehört im weitesten Sinn auch eine dedizierte Entwicklungsumgebung zum SDK. Wer native Apps für Android-Smartphones entwickeln möchte, kann hierfür zum Beispiel Android Studio verwenden. Die IDE wird speziell für die Entwicklung von Apps für Android angeboten.

Neben den nötigen technischen Ressourcen stellt sie viele Komfortfunktionen bereit, die die Arbeit unterstützen. Dazu gehören unter anderem Code-Vervollständigung, ein visueller Oberflächendesigner, ein Emulator für viele gängige Android-Smartphones inklusive Simulation verschiedener Sensoren sowie Werkzeuge zum Testen und Analysieren des Codes. Alternativ könnte man das Android SDK auch separat nutzen, um in einer anderen IDE wie Eclipse Apps für Android zu entwickeln, müsste dann aber auf die dedizierten Komfortfunktionen verzichten.

Kommentare werden geladen....

Kommentar zu diesem Artikel

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Kubernetes Master und Tools für die Steuerebene

Container-Orchestrierung mit AWS EKS, Teil 2

Kubernetes Master und Tools für die Steuerebene

Mit dem Amazon Elastic Kubernetes Service, kurz EKS, erhalten AWS-Kunden einen vollständig verwalteten Kubernetes-Service in der Public Cloud. Im zweiten Teil unseres EKS-Workshops geht es um die Bereitstellung der EKS-Steuerebene mit einem oder mehreren Kubernetes-Mastern, API-Servern und kubectl-Clients. lesen

Microsoft veröffentlicht Python-SDK v2

Native Python-Erfahrung bei der Arbeit mir Azure IoT

Microsoft veröffentlicht Python-SDK v2

Microsoft hat kürzlich eine neue Version 2.0.1 des Python-SDKs veröffentlicht. Mit dem Versionssprung setzt der Hersteller nicht länger auf einen Wrapper um das C-SDK, vielmehr handelt es sich um ein natives Python-Projekt. lesen

Code-Review und App-Optimierung unter AWS

Amazon CodeGuru automatisiert Source Code Testing

Code-Review und App-Optimierung unter AWS

Amazon Web Services (AWS) hat mit CodeGuru ein neues Werkzeug für Code-Review vorgestellt. Es ergänzt die bestehenden Tools CodeBuild, CodeCommit, CodeDeploy oder kundeneigene Tools wie Jenkins für den CI/CD-Prozess. Zusätzlich gibt es Tipps für die Optimierung der Performance einer Applikation. lesen

Google Flutter 1.12 und Dart 2.7 verfügbar

Framework samt zugehöriger Programmiersprache aktualisiert

Google Flutter 1.12 und Dart 2.7 verfügbar

Google hat zum Jahresende sein Framework Flutter und die dazugehörige Programmiersprache Dart aktualisiert. Dart unterstützt jetzt zum Beispiel Extensions-Methoden. lesen

Erste Schritte mit dem AWS Security Hub

Compliance-Checks automatisiert durchführen

Erste Schritte mit dem AWS Security Hub

In Entwicklungsumgebungen, in denen schnelle und häufige Deployments die Regel sind, schleichen sich leicht unbemerkt Fehler in den Code. Der AWS Security Hub ermöglicht automatisierte Compliance-Checks und liefert aggregierte Informationen zu einer Reihe von Cloud-Services. lesen

Stand-Alone-Simulator für Azure IoT

Azure IoT EdgeHub Dev Tool

Stand-Alone-Simulator für Azure IoT

Wer in Azure IoT-Lösungen entwickelt, kann hierfür das sogenannte „Azure IoT EdgeHub Dev Tool“ nutzen. Dabei handelt es sich um einen Simulator für das Entwickeln, Testen, Ausführen und Debuggen sowie eine lokale Entwicklungsumgebung. lesen

Amazon Polly zum Reden bringen

Wordpress und Amazon AI in der Praxis, Teil 2

Amazon Polly zum Reden bringen

Der Barrierefreiheit halber kann es durchaus sinnvoll sein, das eigene Wordpress-Blog um eine Text-to-Speech-Engine zu bereichern. Nachdem die Grundlagen hierfür geschaffen wurden, nehmen wir in diesem zweiten Teil das Installieren des Polly-Plug-ins in Angriff. lesen

Bytecode mit WebAssembly erzeugen

Webanwendungen mit Performance nativer Apps

Bytecode mit WebAssembly erzeugen

Wer seinen Web-Apps schon immer zur Leistung nativer Desktop-Anwendungen verhelfen wollte, kann jetzt aufatmen. Ein binäres Befehlsformat namens WebAssembly übernimmt die Schwerstarbeit. lesen

Amazon forciert Nutzung von Rust

AWS EC2, S3 und Lambda sollen stärker profitieren

Amazon forciert Nutzung von Rust

Viele Dienste in AWS, zum Beispiel EC2, S3 und Lambda, profitieren von Rust. Amazon will die Programmiersprache noch stärker einsetzen und zudem Förderkredite vergeben. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 45385863 / Definitionen)