KURZ-WEBINAR: Wie (un)sicher sind Apps wirklich?" startet in

Tag(e)

:

Stunde(n)

:

Minute(n)

:

Sekunde(n)

Software Development Kit (SDK): Was Sie wissen sollten

5 Mai, 2022

Software Development Kit (SDK) – Definition und Überblick

Ein Software Development Kit (Abkürzung SDK) ist ein Set aus Software Tools und vordefinierten Programmen, mit denen Entwickler:innen Anwendungen für bestimmte Plattformen leichter und schneller entwickeln können. Meistens stellen die Hard- und Software-Anbieter die SDKs selbst zur Verfügung, um den Entwicklern die Arbeit zu erleichtern und ihre Services schneller mit neuen Anwendungen anzureichern.

Software Development Kit SDK hilft bei der Entwicklung

Was beinhaltet ein SDK?

Gute SDKs machen den Entwicklungsprozess so leicht und unkompliziert wie möglich. Sie sollten also all das zur Verfügung stellen, was ein Entwickler möglicherweise bei der Entwicklung einer neuen, passenden Anwendungen benötigen könnte.

Ein Software Development Kit (SDK) beinhaltet in der Regel

    • ein Integrated Development Environment (IDE): Ein IDE oder auch integrierte Entwicklungsumgebung ist eine Software für die Anwendungsentwicklung, die gängige Entwicklertools in einer zentralen grafischen Oberfläche vereint. Dieser „visueller Editor“ hilft dem Entwickler dabei, grafische Elemente und das gesamte Design zu layouten.
    • einen Compiler: Ein Compiler übersetzt den Quellcode der verwendeten Programmiersprache in die benötigte Programmiersprache (Maschinencode).
    • einen Debugger: Ein Debugger identifiziert Fehler im Code und hilft den Entwicklern, den Code für den Service passend auszugeben.
    • und eine API (Application Programming Interface).

Eine typische IDE besteht aus folgenden Komponenten:

      • Quellcode-Editor: Ein Texteditor, der eine Programmierung von Software-Code mit folgenden Features unterstützt: Syntaxhervorhebung mit visuellen Hinweisen, sprachspezifische Autovervollständigung und eine Bug-Prüfung, während der Code geschrieben wird.
      • Automatisierung lokaler Builds: Dienstprogramme, mit denen sich einfache wiederholbare Aufgaben im Rahmen der Entwicklung lokaler Software-Builds zur Nutzung durch die Entwickler automatisieren lassen, wie beispielsweise die Kompilierung von Quell- in Binärcode, dessen Paketierung und die Ausführung automatischer Tests.
      • Debugger: Ein Programm zur Prüfung anderer Programme, mit dem sich die Position von Bugs im Originalcode grafisch anzeigen lässt.

Darüber hinaus können Software Development Kits aber auch folgendes enthalten:

  • Dokumentation: Ein Leitfaden gibt den Entwicklern Instruktionen, wie sie vorzufahren haben.
  • Code Beispiele: Fertige Codes dienen den Entwicklern als Beispiel.
  • Bibliotheken: Bibliotheken im SDK können vorgefertigte Code-Schnipsel enthalten, die für die Entwickler gängige Programmierfunktionen ausführen
  • Testing und Analyse Tools: Im SDK helfen solche Tools, die Performance der Anwendungen in einer Test- und einer Produktivumgebung zu testen.

Warum nutzt man SDKs?

Die vorgefertigten Tools und Elemente in den Software Development Kits (SDK) helfen Entwicklern dabei, den gesamten Entwicklungsprozess zu beschleunigen und effizienter zu gestalten. Außerdem können sie mithilfe der SDKs Anwendungen und Programme mit mehr Funktionen ausstatten.

Aus Anwender:innen-Sicht bedeutet das, dass schneller mehr Anwendung zur Verfügung stehen. Beispiel Apple: Mithilfe der Apple SDKs entwickeln externe Anbieter schneller passende Apps, die wiederum im App Store angeboten werden können.

 

SDK Vorteile:

  • Schnellere Entwicklung
  • Effizienter Prozess
  • Standardisierte Inhalte
  • Eingebauter Support
  • Mehr Funktionen
  • Ergebnis: Mehr verfügbare Anwendungen am Markt

Wie funktionieren SDKs? 

SDKs funktionieren sowohl für mobile Apps, als auch für Websites oder andere digitale Anwendungen. 
 
1.     Recherchiere, welches SDK für deinen Zweck notwendig ist 
2.     Kaufe bzw. Downloade das SDK
3.     Installiere das SDK
4.     Öffne das IPE – hier schreibst du deinen Code
5.     Öffne alle anderen APIs und Entwickler-Tools, die du benötigen wirst
6.     Nutze die Dokumentationen und Anweisungen während des Prozesses
7.     Führe einen Testlauf mit den ggf. Vorhandenen Analyse-Tools durch
 

Unterschied SDK & API

Eine API (Application Programming Interface) ist eine Art codebasierter Vermittler zwischen zwei Plattformen. Als Teil des SDKs aber auch alleinstehend ermöglicht die API, dass diese beiden Plattformen oder Anwendungen miteinander kommunizieren können. Da während der Entwicklung mit einem SDK die Anwendungen oder Systeme mit anderen Anwendungen kommunizieren müssen, ist eine API als Teil des SDKs also notwendig. 
 
  • Eine API ist normalerweise Teil des SDKs (nicht anders herum)
  • Mit einer API allein können Entwickler keine Anwendungen entwickeln
  • APIs sind notwendig, um eine eindeutige Kommunikation zwischen den Anwendungen herzustellen
  • APIs sind also Voraussetzung für die Funktionalität der App
 

Probleme bei SDKs

Entwickler greifen häufig auf freiverfügbare SDKs zurück. So gibt es viele kostenfreie SDKs wie z.B. Advertising-SDKs, die sich schnell und unkompliziert bei der Entwicklung von mobilen Apps einsetzen lassen. So spart der Entwickelnde Zeit und kann sich auf andere Aufgaben konzentrieren. Die Gefahr hierbei ist, dass auch SDKs fehlerhafte Konfigurationen oder Anweisungen enthalten können. Dies ist besonders problematisch, da SDKs aufgrund ihrer standardisierten Inhalte eher selten hinterfragt werden. 
 
Probleme, die aufgrund von SDKs auftreten können: 
  • Unverschlüsselte Datenübertragungen
  • Datenübertragung an unzulässige Drittanbieter
  • Einsatz von nicht notwendigen Trackern 
  • Crash-Schleifen (wie zuletzt beim facebook-Kit)
Darunter leiden dann in der Regel die Anwender:innen selbst. Persönliche Daten, sensible Inhalte und Nutzergewohnheiten gelangen dabei außerhalb der eigenen Kontrollzone. Dazu kommt, dass einmal fehlerbehaftete SDKs sich in unzähligen Anwendungen wiederfinden können. Die Verbreitung geschieht also häufig sehr schnell und betrifft dann direkt viele App-Nutzer:innen auf einmal. 
 

Was kann ich als Privatnutzer:in dagegen tun?

Hier gilt grundsätzlich: Weniger ist mehr. Privatnutzer:innen ist also geraten, sich vor der Installation von Apps über die Sicherheit zu informieren. Wir veröffentlichen dazu auf unserem Blog immer wieder aktuelle Testergebnisse von bekannten Apps. Hier geht’s zu den Apptests.
 

Gefahren durch SDKs als Unternehmen vermeiden

Als Unternehmen lässt sich diese Problematik relativ unkompliziert umgehen. Mithilfe sogenannter App Risk Management Lösungen können riskante Apps identifiziert und aus dem Unternehmensnetzwerk ausgeschlossen werden. Am Beispiel von APPVISORY bedeutet das, dass alle Apps aus dem Enterprise App Store und das bestehende App Portfolio auf Sicherheitsrisiken und Compliance-Verstöße hin untersucht und automatisch in Postiv- und Negativlisten übertragen werden. Hier können Sie kostenlos Ihre Mobilgeräte auf riskantes Verhalten untersuchen.

Dies könnte Sie auch interessieren

Das könnte Sie auch interessieren:

blank

Whitepaper: Wie sicher ist iOS wirklich?

Lange Zeit galt der Mythos, dass Apple-Geräte immer sicher sind. In letzter Zeit scheint Apple seinen Status als uneinnehmbare Festung jedoch zu verlieren. Erfahren Sie in unserem 12-seitigen Whitepaper, wie Sie die Risiken umgehen können.

Apptests, Tipps und ein Gratis-Geschenk!

PRESSEKONTAKT

Carolin Thomalla | PR & Communication

press@appvisory.com
Telefon +49 (0)511 35 39 94 22
Fax +49 (0)511 35 39 94-12

Apptests, Tipps und ein Gratis-Geschenk!

Jetzt zum Newsletter anmelden!

Datenschutzerklärung: Wir versenden keinen Spam. Sie können den Newsletter jederzeit abbestellen.