Software development kit (SDK)

Een software development toolkit (SDK) is een set softwaretools en programma's die door hardware- en softwareleveranciers worden geleverd en die ontwikkelaars kunnen gebruiken om applicaties voor specifieke platforms te bouwen. Deze aanbieders stellen hun SDK's beschikbaar om ontwikkelaars te helpen hun apps eenvoudig te integreren met hun diensten.

Om een SDK te kunnen gebruiken, heeft een ontwikkelaar een iOS SDK nodig om iOS apps te bouwen, een Android toolkit om Android apps te bouwen, een Nordic SDK om Bluetooth of draadloze apps te bouwen en een VMware SDK om integratie met het VMware platform mogelijk te maken.

Hoewel SDK's grotendeels worden geassocieerd met native mobiele apps, kunnen ontwikkelaars ze ook gebruiken in verband met websites, set-top boxes en andere digitale platforms.

SDK's omvatten documentatie, application programming interfaces (API's), code samples, bibliotheken en processen, evenals handleidingen die ontwikkelaars kunnen gebruiken en integreren in hun apps. Ontwikkelaars kunnen SDK's gebruiken om applicaties te bouwen en te onderhouden zonder dat ze alles vanaf nul hoeven te schrijven.

Meer specifiek omvatten SDK's:

  • Bibliotheken of API's - vooraf gedefinieerde stukken code waarmee ontwikkelaars veelvoorkomende programmeertaken op het platform kunnen uitvoeren.
  • Integreerde ontwikkelomgeving (IDE) - een visuele editor die ontwikkelaars helpt bij het ontwerpen en opmaken van grafische elementen, zoals tekstvakken en knoppen. Deze zijn gebruikelijk in toolkits voor mobiele softwareontwikkeling. Apple's IDE, Xcode, bevat bijvoorbeeld een reeks software-ontwikkelingstools om ontwikkelaars te helpen software te bouwen voor macOS, iOS, iPadOS, watchOS en tvOS. Er zijn tal van IDE-opties voor Android.
  • Tools om ontwikkelaars te helpen bij taken als debuggen, bouwen, uitvoeren en testen van hun applicaties.

SDK's stellen ontwikkelaars in staat apps uit te breiden met meer functionaliteit en laten ze pushmeldingen, advertenties en meer opnemen. SDK's helpen ontwikkelaars ook efficiënter nieuwe tools te maken en maken het proces eenvoudiger omdat alles al is voorgebouwd.

Als een ontwikkelaar bijvoorbeeld afbeeldingen of tekst uit zijn app rechtstreeks in Facebook wil delen, kan hij op zoek gaan naar Facebook's Android SDK om de benodigde code te vinden die zou werken voor een Android-apparaat. Dit versnelt de implementatie omdat de ontwikkelaar de code niet helemaal opnieuw hoeft te schrijven.

Waarom SDK's gebruiken

Software-ontwikkelingstoolkits stellen ontwikkelaars in staat functionaliteit aan hun toepassingen toe te voegen en de standaardcomponenten van hun apps eenvoudiger en sneller te bouwen. SDK's zijn meestal alles-in-één producten en hoeven niet te worden geïntegreerd met andere componenten, wat het ontwikkelingsproces kan vertragen.

Typisch gebruiken ontwikkelaars SDK's voor eenvoudige functies, zoals inloggen, locatiediensten en mobiele betalingen. Er zijn echter ook SDK's die ontwikkelaars helpen complexere app-functies te bouwen, zoals augmented reality (AR) en virtual reality (VR). SDK's verminderen complexe integraties door standaardprocessen te vereenvoudigen, zoals het maken van autorisatiehandtekeningen of het interpreteren van sms-berichten in native talen of platforms.

Verschil tussen SDK's en API's

Een API is code die twee softwareprogramma's in staat stelt met elkaar te communiceren. Een API definieert de juiste manier voor een ontwikkelaar om diensten van een besturingssysteem of een andere toepassing aan te vragen en gegevens binnen verschillende contexten en over meerdere kanalen bloot te leggen.

Wanneer een ontwikkelaar een SDK gebruikt om toepassingen te ontwikkelen en systemen te maken, moeten die toepassingen met andere toepassingen communiceren. Een SDK bevat een API om die communicatie mogelijk te maken.

Andere verschillen zijn:

  • SDK's bevatten meestal API's, maar API's bevatten geen SDK's.
  • Hoewel een API kan worden gebruikt voor de communicatie, kan deze niet worden gebruikt om nieuwe applicaties te maken.
  • SDK's laten ontwikkelaars applicaties maken en fungeren als de bouwstenen voor het softwareproduct.
  • API's maken de werking van apps mogelijk binnen de parameters van de SDK waarmee ze zijn gebundeld. API's zijn de code die duidelijk gedefinieerde communicatie tussen twee afzonderlijke apps mogelijk maken.
  • Een SDK is de tool en component stuk code die is gemaakt voor een specifiek doel, terwijl een API is gewoon een interface voor een service.