Software-Entwicklungskit - Software development kit

Ein Software Development Kit ( SDK ) ist eine Sammlung von Softwareentwicklungstools in einem installierbaren Paket. Sie erleichtern die Erstellung von Anwendungen, indem sie einen Compiler, Debugger und vielleicht ein Software-Framework haben . Sie sind normalerweise spezifisch für eine Kombination aus Hardwareplattform und Betriebssystem . Um Anwendungen mit erweiterten Funktionen wie Werbung, Push-Benachrichtigungen usw. zu erstellen; Die meisten Entwickler von Anwendungssoftware verwenden spezielle Software Development Kits.

Für die Entwicklung einer plattformspezifischen App sind einige SDKs erforderlich. Für die Entwicklung einer Android- App auf der Java- Plattform ist beispielsweise ein Java Development Kit erforderlich . Für iOS- Anwendungen (Apps) ist das iOS SDK erforderlich. Für die universelle Windows-Plattform kann das .NET Framework SDK verwendet werden. Es gibt auch SDKs, die zusätzliche Funktionen hinzufügen und in Apps installiert werden können, um Analysen, Daten zur Anwendungsaktivität und Monetarisierungsoptionen bereitzustellen. Einige bekannte Entwickler dieser Art von SDKs sind Google , Smaato , InMobi und Facebook .

Einzelheiten

Ein SDK kann die Form von Anwendungsprogrammierschnittstellen (APIs) in Form von geräteinternen Bibliotheken mit wiederverwendbaren Funktionen annehmen, die als Schnittstelle zu einer bestimmten Programmiersprache verwendet werden , oder es kann so komplex sein wie hardwarespezifische Tools, die mit einer bestimmten Programmiersprache kommunizieren können eingebettetes System . Zu den gängigen Tools gehören Debugging-Einrichtungen und andere Dienstprogramme , die oft in einer integrierten Entwicklungsumgebung (IDE) präsentiert werden. SDKs können Beispielsoftware und/oder technische Hinweise zusammen mit Dokumentation und Tutorials enthalten, um die Punkte des primären Referenzmaterials zu verdeutlichen.

SDKs enthalten oft Lizenzen , die sie für die Erstellung von Software, die unter einer inkompatiblen Lizenz entwickelt werden soll, ungeeignet machen. Beispielsweise ist ein proprietäres SDK im Allgemeinen mit der Entwicklung freier Software nicht kompatibel , während ein GPL- lizenziertes SDK aus rechtlichen Gründen mit der Entwicklung proprietärer Software nicht kompatibel sein könnte. SDKs, die unter der GNU Lesser General Public License (LGPL) erstellt wurden, können jedoch normalerweise für proprietäre Entwicklungen verwendet werden. In Fällen, in denen die zugrunde liegende Technologie neu ist, können SDKs Hardware enthalten. Zum Beispiel enthielt das 2021 NFC SDK von AirTag sowohl die zahlende als auch die lesende Hälfte des erforderlichen Hardware-Stacks.

Die durchschnittliche mobile Android -App implementiert 15,6 separate SDKs, während Gaming-Apps durchschnittlich 17,5 verschiedene SDKs implementieren. Die beliebtesten SDK-Kategorien für mobile Android-Apps sind Analysen und Werbung.

SDKs können unsicher sein (weil sie in Apps implementiert sind, aber dennoch separaten Code ausführen). Schädliche SDKs (mit oder ohne ehrliche Absicht) können den Datenschutz der Benutzer verletzen , die App-Leistung beeinträchtigen oder sogar dazu führen, dass Apps von Google Play oder dem App Store gesperrt werden . Neue Technologien ermöglichen es App-Entwicklern , Client-SDKs in Echtzeit zu steuern und zu überwachen.

Anbieter von SDKs für bestimmte Systeme oder Subsysteme ersetzen manchmal einen spezifischeren Begriff anstelle von Software . Beispielsweise bieten sowohl Microsoft als auch Citrix ein Driver Development Kit (DDK) zum Entwickeln von Gerätetreibern an .

Siehe auch

Verweise