Content deleted Content added
No edit summary Tags: Reverted references removed Visual edit Mobile edit Mobile web edit |
m Reverted 1 edit by 176.45.186.58 (talk) to last revision by Materialscientist |
||
Line 1:
{{short description|Set of software development tools}}
A '''software development kit''' ('''SDK''') is a collection of [[Software development process|software development]] tools in one installable package. They facilitate the creation of [[application software|applications]] by having a compiler, debugger and sometimes a [[software framework]]. They are normally specific to a hardware platform and [[operating system]] combination.<ref name="ShamseeCCNA15">{{cite book |url=https://books.google.com/books?id=-0GkBgAAQBAJ&pg=PA934 |title=CCNA Data Center DCICT 640-916: Official Cert Guide |author=Shamsee, N. |author2=Klebenov, D. |author3=Fayed, H. |display-authors=etal |publisher=Cisco |page=934 |year=2015 |isbn=9780133860450}}</ref><ref name="GartnerSDK">{{cite web |url=https://www.gartner.com/it-glossary/sdk-software-development-kit |title=SDK (software development kit) |publisher=Gartner, Inc |access-date=5 July 2018}}</ref><ref name="SandovalWhatIs16">{{cite web |url=https://nordicapis.com/what-is-the-difference-between-an-api-and-an-sdk/ |title=What is the Difference Between an API and an SDK? |author=Sandoval, K. |work=Nordic APIs Blog |publisher=Nordic APIs AB |date=2 June 2016 |access-date=5 July 2018}}</ref> To create applications with advanced functionalities such as advertisements,<ref name="TarkomaSmart14">{{cite book |url=https://books.google.com/books?id=4tAHBAAAQBAJ&pg=PA249 |title=Smartphone Energy Consumption: Modeling and Optimization |author=Tarkoma, S. |author2=Siekkinen, M. |author3=Lagerspetz, E. |author4=Xiao, Y. |publisher=Cambridge University Press |pages=249–50 |year=2014 |isbn=9781139992732}}</ref> push notifications,<ref name="BueckerIBM14">{{cite book |url=https://books.google.com/books?id=VmqcBQAAQBAJ&pg=PA207 |title=IBM System z in a Mobile World |author=Buecker, A. |author2=Affouard, A. |author3=Armstrong, A. |display-authors=etal |publisher=IBM Redbooks |page=207 |year=2014 |isbn=9780738440095}}</ref> etc; most application software developers use specific software development kits.<ref>{{cite web| url=https://www.kennykey.com/| title=Development Kits| accessdate = 21 July 2017}}</ref>
Some SDKs are required for developing a platform-specific app. For example, the development of an [[Android (operating system)|Android]] app on the [[Java (programming language)|Java]] platform requires a [[Java Development Kit]]. For [[iOS]] applications (apps) the [[iOS SDK]] is required. For [[Universal Windows Platform]] the [[.NET Framework SDK]] might be used. There are also SDKs that add additional features and can be installed in apps to provide analytics, data about application activity, and monetization options. Some prominent creators of these types of SDKs include [[Google]],<ref name="DimitriuHow17">{{cite web |url=https://blog.littledata.io/2017/04/11/how-to-use-analytics-for-mobile-apps-google-analytics-vs-firebase-analytics/ |title=How to use Analytics for mobile apps: Google Analytics SDK vs Firebase |author=Dimitriu, A. |work=Littledata Blog|publisher=Littledata Consulting Ltd |date=11 April 2017 |access-date=5 July 2018}}</ref> [[Smaato]],<ref>{{Cite web|url=https://www.smaato.com/resources/sdks/|title=Mobile Advertising SDK {{!}} NextGen SDK|website=Smaato|language=en|access-date=2019-11-20}}</ref> [[InMobi]],<ref name="KirkHow17">{{cite web |url=https://www.inmobi.com/blog/2017/07/31/how-to-measure-mobile-video-viewability-without-slowing-performance |title=How to Measure Mobile Video Viewability (Without Slowing Performance) |author=Kirk, J. |work=inMobi Blog |publisher=inMobi |date=31 July 2017 |access-date=3 July 2018}}</ref> and [[Facebook]].<ref name="CohenMore16">{{cite web |url=https://www.adweek.com/digital/facebook-analytics-for-apps-update-september-2016/ |title=More New Features for Facebook's Analytics for Apps |author=Cohen, D. |work=Adweek |publisher=Adweek, LLC |date=29 September 2016 |access-date=5 July 2018}}</ref>
==Details==
An SDK can take the form of [[application programming interface]]s (APIs)<ref name="SandovalWhatIs16"
SDKs often include [[License compatibility|licenses]] that make them unsuitable for building software intended to be developed under an incompatible license. For example, a proprietary SDK is generally incompatible with [[free software]] development, while a [[GNU General Public License|GPL]]-licensed SDK could be incompatible with proprietary software development, for legal reasons.<ref name="Vaughan-NicholsNoGoogle13">{{cite web |url=https://www.zdnet.com/article/no-google-is-not-making-the-android-sdk-proprietary-whats-the-fuss-about/ |title=No, Google is not making the Android SDK proprietary. What's the fuss about? |author=Vaughan-Nichols, S.J. |work=ZDNet |publisher=CBS Interactive |date=4 January 2013 |access-date=5 July 2018}}</ref><ref name="OrlandSonys17">{{cite web |url=https://arstechnica.com/gaming/2017/07/sony-using-copyright-requests-to-remove-leaked-ps4-sdk-from-the-web/ |title=Sony's legal quest to remove its leaked developer's kit from the Web |author=Orland, K. |work=ArsTechnica |publisher=Condé Nast |date=20 July 2017 |access-date=5 July 2018}}</ref> However, SDKs built under the [[GNU Lesser General Public License]] (LGPL) are typically usable for proprietary development.<ref name="DavidsonAPrimer04">{{cite web |url=http://www.wipo.int/sme/en/documents/opensource_software_primer_fulltext.html |title=A Primer on Open Source Software for Business People and Lawyers |author=Davidson, S.J. |publisher=Leonard, Street and Deinard |date=2004 |access-date=5 July 2018}}</ref> In cases where the underlying technology is new, SDKs may include hardware. For example, [[AirTag]]'s 2021 [[Near-field communication|NFC]] SDK included both the paying and the reading halves of the necessary hardware stack.<ref>{{Cite web|url=https://venturebeat.com/2012/10/16/airtag-releasing-nfc-mobile-payments-developer-kit-wishes-apple-would-help-simply-the-ecosystem/|title = Airtag releasing NFC mobile payments developer kit, wishes Apple would help simplify the ecosystem|date = 16 October 2012}}</ref>
|