Et softwareudviklingsværktøjssæt (SDK) er et sæt softwareværktøjer og programmer leveret af hardware- og softwareleverandører, som udviklere kan bruge til at opbygge applikationer til specifikke platforme. Disse udbydere gør deres SDK’er tilgængelige for at hjælpe udviklere med nemt at integrere deres apps med deres tjenester.
For at kunne bruge en SDK har en udvikler brug for en iOS SDK til at opbygge iOS-apps, et Android-værktøjssæt til at opbygge Android-apps Nordic SDK til opbygning af Bluetooth- eller trådløse apps og en VMware SDK for at muliggøre integration med VMware-platformen.
Selvom SDK’er stort set er forbundet med native mobilapps, kan udviklere bruge dem i forbindelse med hjemmesider, set-top-bokse og andre digitale platforme.
SDK’er inkluderer dokumentation, API’er (application programming interfaces), kodeeksempler, biblioteker og processer samt guider, som udviklere kan bruge og integrere i deres apps. Udviklere kan bruge SDK’er til at opbygge og vedligeholde applikationer uden at skulle skrive alt fra bunden.
Mere specifikt inkluderer SDK’er:
- Biblioteker eller API’er – foruddefinerede kodestykker der lader udviklere udføre almindelige programmeringsopgaver på platformen.
- Integreret udviklingsmiljø (IDE) – en visuel editor, der hjælper udviklere med at designe og layout grafiske elementer, såsom tekstfelter og knapper. Disse er almindelige i værktøjssæt til udvikling af mobil software. For eksempel indeholder Apples IDE, Xcode, en række softwareudviklingsværktøjer, der hjælper udviklere med at opbygge software til macOS, iOS, iPadOS, watchOS og tvOS. Der er adskillige IDE-muligheder til Android.
- Værktøjer, der hjælper udviklere med at udføre opgaver som fejlretning, opbygning, kørsel og test af deres applikationer.
SDK’er gør det muligt for udviklere at forbedre apps med mere funktionalitet, og lad dem omfatte push-underretninger, annoncer og mere. SDK’er hjælper også udviklere mere effektivt med at oprette nye værktøjer og gøre processen nemmere, fordi alt er forudbygget.
For eksempel, hvis en udvikler gerne vil dele billeder eller tekst fra sin app direkte til Facebook, skal han eller hun kunne kigge efter Facebooks Android SDK for at finde den nødvendige kode, der ville fungere for en Android-enhed. Dette fremskynder implementeringen, fordi udvikleren ikke behøver at skrive koden fra bunden.
Hvorfor bruge SDK’er
Softwareudviklingsværktøjssæt tillader udviklere at tilføje funktionalitet til deres applikationer og gøre det muligt for dem at opbygge standardkomponenterne i deres apps lettere og hurtigere. SDK’er er normalt alt-i-et-produkter og behøver ikke at blive integreret med andre komponenter, hvilket kan bremse udviklingsprocessen.
Typisk bruger udviklere SDK’er til enkle funktioner, såsom login, placering tjenester og mobilbetalinger. Der er dog også SDK’er, der hjælper udviklere med at opbygge mere komplekse appfunktioner, såsom augmented reality (AR) og virtual reality (VR). SDK’er reducerer komplekse integrationer ved at forenkle standardprocesser, såsom at oprette godkendelsessignaturer eller fortolke SMS-beskeder på native sprog eller platforme.
Forskel mellem SDK’er og API’er
En API er kode, der muliggør to softwareprogrammer til at kommunikere med hinanden. En API definerer den rigtige måde for en udvikler at anmode om tjenester fra et operativsystem eller en anden applikation og eksponere data inden for forskellige sammenhænge og på tværs af flere kanaler.
Når en udvikler bruger en SDK til at udvikle applikationer og oprette systemer, disse apps skal kommunikere med andre applikationer. En SDK inkluderer en API, der muliggør denne kommunikation.
Andre forskelle inkluderer:
- SDK’er indeholder normalt API’er, men API’er indeholder ikke SDK’er.
- Selvom en API kan bruges til kommunikationen, kan den ikke bruges til at oprette nye applikationer.
- SDK’er lader udviklere oprette applikationer og fungere som byggesten for softwareproduktet.
- API’er tillader funktion af apps inden for parametrene for SDK, de følger med. API’er er koden, der muliggør klart defineret kommunikation mellem to separate apps.
- En SDK er det værktøj og komponentkode, der er oprettet til et bestemt formål, mens en API kun er en grænseflade til en tjeneste .