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

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

Einheitliche UX für Web und Mobile Apps

Pega Digital Experience API von Pegasystems

Einheitliche UX für Web und Mobile Apps

Front-End-Entwickler sollen mit der Pega Digital Experience API für eine einheitliche Benutzererfahrung über Web- und Mobile-Apps hinweg sorgen können. UI-Frameworks wie React und Angular sollen sich dabei mit dem User-Experience-Design-System von Pegasystems kombinieren lassen. lesen

Apps und Spiele für Android Oreo anpassen

Google Play fordert API Level 26

Apps und Spiele für Android Oreo anpassen

Neu entwickelte Android Apps und Spiele, die über Google Play verteilt werden, müssen mit dem morgigen Tag die aktuelle API-Stufe 26 vorweisen können. Dies garantiert die Lauffähigkeit unter Android 8.0 Oreo und höher. Ein paar Tipps von Google sollen bei der Umsetzung helfen. lesen

Microsoft kündigt Windows UI Library an

NuGet-Pakete für die UWP-XAML-Plattform

Microsoft kündigt Windows UI Library an

Microsoft hat eine Preview der Windows UI Library, kurz WinUI, online gestellt. Diese macht Fluent-Design-Elemente für Windows 10 UWP Apps über NuGet-Pakete zugänglich. lesen

Canonical stellt Minimal Ubuntu bereit

Ubuntu Images für automatisierten Cloud-Betrieb

Canonical stellt Minimal Ubuntu bereit

Mit Minimal Ubuntu hat Canonical ein besonders kleines Ubuntu-Base-Image für den Cloud-Betrieb entworfen. Entsprechende Minimal-Images von Ubuntu 16.04 LTS und 18.04 LTS sind bereits auf den Plattformen Amazon EC2, Google Compute Engine (GCE), LXD und KVM/OpenStack verfügbar. lesen

Einfaches Debugging von Alexa Skill-Code

TestFlow simuliert Konversation mit Alexa

Einfaches Debugging von Alexa Skill-Code

Das Alexa-Team von Amazon stellt mit TestFlow ein Simulationstool vor, welches das Debuggen und Testen von Alexa Skills optimieren soll. Der entsprechende Code lässt sich dabei ohne ein vorheriges Paketieren oder Bereitstellen des Projekts testen. lesen

Android Emulator mit AMD- und Hyper-V-Unterstützung

Google weitet Virtualisierung aus

Android Emulator mit AMD- und Hyper-V-Unterstützung

Unter Microsoft Windows arbeitete der Android Emulator bislang nur mit Intel-Prozessoren. AMD- und Hyper-V-Support ließ die Testumgebung bislang missen, doch das ändert sich mit dem neuen, bereits erhältlichen Release. lesen

Alexa Skills Set mit Python Support als Beta

Neues Software Development Kit von Amazon

Alexa Skills Set mit Python Support als Beta

Für alle Entwickler, die gerne in Python entwickeln. hat Amazon die Beta eines Alexa Skill Kit SDKs for Python angekündigt. Das Software Development Kit umfasst die gleichen Funktionen wie die Java- und Node.js-SDKs. lesen

Microservice-Debugging unter AWS

Analyse von verteilten Anwendungen

Microservice-Debugging unter AWS

„Wir haben eine komplexe Microservices-Architektur in AWS aufgebaut und möchten diese gerne debuggen. Welche Empfehlungen und Services existieren für die Analyse von komplexen verteilten Systemen?“ lesen

Facebook gibt Debugging-Tool frei

Sonar als Open-Source-Software verfügbar

Facebook gibt Debugging-Tool frei

Facebook stellt den Code von Software Sonar, ein Debugging-Werkzeug für soziale Netzwerke, Open Source zur Verfügung. Die Software erlaubt auch das Debuggen von Smartphone-Apps lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 45385863 / Definitionen)