Software development kit: Difference between revisions

Content deleted Content added
{{refimprove| date=August 2025}}
Tags: Mobile edit Mobile web edit
 
(2 intermediate revisions by 2 users not shown)
Line 1:
{{short description|Set of software development tools}}
{{refimprove| date=August 2025}}
A '''software development kit''' ('''SDK''') is a collection of software development tools in one installable package. They facilitate the creation of applications by having a compiler, debugger and sometimes a [[software framework]]. They are normally specific to a hardware platform and operating system combination. To create applications with advanced functionalities such as advertisements, push notifications, etc; most [[application software]] developers use specific software development kits.
 
Line 7 ⟶ 8:
An SDK can take the form of [[application programming interface]]s<ref name="SandovalWhatIs16">{{cite web |author=Sandoval, K. |date=2 June 2016 |title=What is the Difference Between an API and an SDK? |url=https://nordicapis.com/what-is-the-difference-between-an-api-and-an-sdk/ |access-date=5 July 2018 |work=Nordic APIs Blog |publisher=Nordic APIs AB}}</ref> in the form of on-device [[Library (computing)|libraries]] of reusable functions used to interface to a particular [[programming language]], or it may be as complex as hardware-specific tools that can communicate with a particular [[embedded system]].<ref name="BensoASoft00">{{cite book |author=Benso, A. |author2=Chiusano, S. |author3=Prinetto, P. |title=Proceedings International Test Conference 2000 (IEEE Cat. No.00CH37159) |chapter=A software development kit for dependable applications in embedded systems |pages=170–8 |year=2000 |doi=10.1109/TEST.2000.894204|isbn=0-7803-6546-1 |s2cid=206679243 }}</ref> Common [[Software development tool|tools]] include debugging facilities and other [[Utility program|utilities]], often presented in an [[integrated development environment]].<ref name="BurdAndroid15">{{cite book |url=https://books.google.com/books?id=fwElCgAAQBAJ&pg=PA31 |title=Android Application Development All-in-One For Dummies |author=Burd, B. |publisher=John Wiley & Sons |page=31 |year=2015 |isbn=9781118973806}}</ref> SDKs may include sample software and/or technical notes along with documentation, and tutorials to help clarify points made by the primary reference material.<ref name="AsifNext11">{{cite book |url=https://books.google.com/books?id=zgqQ4MX3uIUC&pg=PT384 |title=Next Generation Mobile Communications Ecosystem: Technology Management for Mobile Communications |author=Asif, S.Z. |publisher=John Wiley & Sons |page=PT384 |year=2011 |isbn=9781119995814}}</ref><ref name="WitheeSharePoint11">{{cite book |url=https://books.google.com/books?id=_OiEGA2EZz8C&pg=PT346 |title=SharePoint 2010 Development For Dummies |author=Withee, K. |publisher=John Wiley & Sons |page=PT346 |year=2011 |isbn=9781118038628}}</ref>
 
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]]'d 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]] 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> <ref>{{Cite web |title=OPEN SOURCE AND COMMERCIAL SOFTWARE : AN IN-DEPTH ANALYSIS OF THE ISSUES |url=https://www.wipo.int/edocs/mdocs/copyright/en/wipo_ip_cm_07/wipo_ip_cm_07_www_82575.pdf |website=wipo.int}}</ref> In cases where the underlying technology is new, SDKs may include hardware. For example, [[AirTag (company)|AirTag]]'s 2012 [[near-field communication]] 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>
 
The average [[Android (operating system)|Android]] [[mobile app]] implements 15.6 separate SDKs, with gaming apps implementing on average 17.5 different SDKs.<ref name="SafeDK">{{cite web|last1=Shoavi|first1=Orly|title=The All-Star Winners of Mobile App Tools (SDKs)|url=http://blog.safedk.com/sdk-economy/star-winners-mobile-app-tools-sdks/|website=SafeDK}}</ref><ref name="Fork.ai">{{cite web|last1=Lishi|first1=He|title=All iOS and Android 3rd Platform SDKs|url=https://fork.ai/technologies|website=Fork.ai}}</ref> The most popular SDK categories for Android mobile apps are analytics and advertising.<ref name="Fork.ai" />
Line 16 ⟶ 17:
 
== Examples==
{{unref|section|date=August 2025}}
Examples of software development kits for various platforms include:
*[[AmigaOS]] NDK