Softwareentwicklungskit

A Softwareentwicklungskit (SDK) ist eine Sammlung von Software-Entwicklung Tools in einem installierbaren Paket. Sie erleichtern die Schaffung von Anwendungen durch einen Compiler, Debugger und manchmal eine Software -Framework. Sie sind normalerweise spezifisch für eine Hardwareplattform und Betriebssystem Kombination.[1][2][3] Um Anwendungen mit erweiterten Funktionen wie Anzeigen zu erstellen,[4] Mitteilungen,[5] etc; Die meisten Anwendungssoftwareentwickler verwenden bestimmte Softwareentwicklungskits.[6]

Einige SDKs sind für die Entwicklung einer plattformspezifischen App erforderlich. Zum Beispiel die Entwicklung eines Android App auf der Java Plattform erfordert a Java Entwickler-Kit. Zum iOS Anwendungen (Apps) die iOS SDK ist nötig. Zum Universelle Windows -Plattform das .NET Framework SDK könnte verwendet werden. Es gibt auch SDKs, die zusätzliche Funktionen hinzufügen und in Apps installiert werden können, um Analysen, Daten zu Anwendungsaktivitäten und Monetarisierungsoptionen bereitzustellen. Einige prominente Schöpfer dieser Arten von SDKs umfassen Google,[7] Smaato,[8] Inmobi,[9] und Facebook.[10]

Einzelheiten

Ein SDK kann die Form von annehmen Anwendungsprogrammierschnittstellen (APIS)[3] in Form von On-Device Bibliotheken von wiederverwendbaren Funktionen, die verwendet werden, um eine bestimmte Schnittstelle zu haben Programmierspracheoder es kann so komplex sein wie hardwarespezifische Tools, die mit einem bestimmten kommunizieren können Eingebettetes System.[11] Verbreitet Werkzeug Fügen Sie Debugging -Einrichtungen und andere ein Dienstprogramme, oft in einem präsentiert integrierte Entwicklungsumgebung (Ide).[12] SDKs können Mustersoftware und/oder technische Notizen sowie Dokumentation sowie Tutorials enthalten, um Punkte zu klären, die vom primären Referenzmaterial erstellt wurden.[13][14]

SDKs umfassen oft Lizenzen Dadurch werden sie für den Aufbau von Software, die für die Entwicklung einer inkompatiblen Lizenz vorgesehen sind, ungeeignet. Zum Beispiel ist ein proprietäres SDK im Allgemeinen unvereinbar mit gratis Software Entwicklung, während a Gpl-Lizenziert SDK könnte aus rechtlichen Gründen mit der proprietären Softwareentwicklung unvereinbar sein.[15][16] SDKs, die jedoch unter dem gebaut wurden Gnu weniger allgemeine öffentliche Lizenz (LGPL) sind in der Regel für die proprietäre Entwicklung verwendbar.[17] In Fällen, in denen die zugrunde liegende Technologie neu ist, können SDKs Hardware enthalten. Zum Beispiel, Airtag's 2021 NFC SDK beinhaltete sowohl die Zahlung als auch die Lesung der notwendigen Hardware -Stapel.[18]

Der Durchschnitt Android App Implementiert 15,6 separate SDKs, wobei Gaming -Apps im Durchschnitt 17,5 verschiedene SDKs implementieren.[19] Die beliebtesten SDK -Kategorien für Android Mobile Apps sind Analysen und Werbung.[19]

SDKs können unsicher sein (da sie in Apps implementiert sind und dennoch separate Code ausführen). Bösartige SDKs (mit ehrlichen Absichten oder nicht) können die Benutzer verletzen. Datenprivatsphäre, Schadenserscheinungsleistung oder sogar dazu führen, dass Apps verboten werden Google Play oder der Appstore.[20] Neue Technologien erlauben App -Entwickler Um Client -SDKs in Echtzeit zu kontrollieren und zu überwachen.

Anbieter von SDKs für bestimmte Systeme oder Subsysteme manchmal einen spezifischeren Begriff anstelle von ersetzen Software. Zum Beispiel beides beides Microsoft[21] und Citrix[22] Bieten Sie ein Treiberentwicklungskit (DDK) zur Entwicklung Gerätetreiber.

Beispiele

Beispiele für Softwareentwicklungskits für verschiedene Plattformen sind:

Siehe auch

Verweise

  1. ^ Shamsee, N.; Klebenov, D.; Fayed, H.; et al. (2015). CCNA Data Center DCICT 640-916: Offizieller Cert-Leitfaden. Cisco. p. 934. ISBN 9780133860450.
  2. ^ "SDK (Software Development Kit)". Gartner, Inc. Abgerufen 5. Juli 2018.
  3. ^ a b Sandoval, K. (2. Juni 2016). "Was ist der Unterschied zwischen einer API und einem SDK?". Nordischer APIS -Blog. Nordische Apis AB. Abgerufen 5. Juli 2018.
  4. ^ Tarkoma, S.; Siekkinen, M.; Lagerspesen, e.; Xiao, Y. (2014). Smartphone -Energieverbrauch: Modellierung und Optimierung. Cambridge University Press. S. 249–50. ISBN 9781139992732.
  5. ^ Buecker, A.; Affouard, a.; Armstrong, A.; et al. (2014). IBM System Z in einer mobilen Welt. IBM Redbooks. p. 207. ISBN 9780738440095.
  6. ^ "Entwicklungskits". Abgerufen 21. Juli 2017.
  7. ^ Dimitriu, A. (11. April 2017). "So verwenden Sie Analysen für mobile Apps: Google Analytics SDK vs Firebase". Littledata Blog. Littledata Consulting Ltd. Abgerufen 5. Juli 2018.
  8. ^ "Mobile Werbung SDK | NextGen SDK". Smaato. Abgerufen 2019-11-20.
  9. ^ Kirk, J. (31. Juli 2017). "So messen Sie mobile Video -Sichtbarkeit (ohne die Leistung zu verlangsamen)". Inmobi -Blog. Inmobi. Abgerufen 3. Juli 2018.
  10. ^ Cohen, D. (29. September 2016). "Weitere neue Funktionen für die Analyse von Facebook für Apps". Adweek. Adweek, LLC. Abgerufen 5. Juli 2018.
  11. ^ BENSO, A.; Chiusano, S.; Prinetto, P. (2000). "Ein Softwareentwicklungs -Kit für zuverlässige Anwendungen in eingebetteten Systemen". Proceedings International Test Conference 2000: 170–8. doi:10.1109/test.2000.894204. ISBN 0-7803-6546-1. S2CID 206679243.
  12. ^ Burd, B. (2015). Android-Anwendungsentwicklung All-in-One für Dummies. John Wiley & Sons. p. 31. ISBN 9781118973806.
  13. ^ Asif, S.Z. (2011). Das Ökosystem der nächsten Generation Mobilkommunikation: Technologiemanagement für mobile Kommunikation. John Wiley & Sons. p. Pt384. ISBN 9781119995814.
  14. ^ Withee, K. (2011). SharePoint 2010 -Entwicklung für Dummies. John Wiley & Sons. p. Pt346. ISBN 9781118038628.
  15. ^ Vaughan-Nichols, S.J. (4. Januar 2013). "Nein, Google macht das Android SDK nicht proprietär. Worum geht es um Aufregung?". ZDNET. CBS interaktiv. Abgerufen 5. Juli 2018.
  16. ^ Orland, K. (20. Juli 2017). "Sonys legaler Bestreben, sein durchgesickertes Entwickler -Kit aus dem Web zu entfernen". Arstechnica. Conde nast. Abgerufen 5. Juli 2018.
  17. ^ Davidson, S.J. (2004). "Eine Grundierung auf Open -Source -Software für Geschäftsleute und Anwälte". Leonard, Street und Deinard. Abgerufen 5. Juli 2018.
  18. ^ "Airtags veröffentlichen NFC Mobile Payments Developer Kit, Wishes Apple würde dazu beitragen, das Ökosystem zu vereinfachen". 16. Oktober 2012.
  19. ^ a b Shoavi, Orly. "Die All-Star-Gewinner von mobilen App Tools (SDKs)" ". Safedk.
  20. ^ Perez, Sarah. "Hunderte von Apps, die im App Store verboten sind, um auf die persönlichen Daten der Benutzer zugreifen zu können". Techcrunch.
  21. ^ "Windows -Treiber -Kit -Dokumentation". Hardware Dev Center. Microsoft. Abgerufen 5. Juli 2018.
  22. ^ "Treiberentwicklungskit - Für XenServer 6.2.0 Service Pack 1 mit Hotfix XS62EP1062". Citrix Systems, Inc. 27. Juni 2017. Abgerufen 5. Juli 2018.