Et softwareudviklingssæt (SDK) er et sæt værktøjer leveret af producenten af (normalt) en hardwareplatform, operativsystem (OS) eller programmeringssprog. SDK’er hjælper udviklere med at oprette applikationer, der er specifikke for den platform, system eller programmeringssprog. Tænk på det som en plastikpose med værktøjer, der følger med de dele af en kommode, du har købt for at samle dig selv. Du har hvad du har brug for for at få arbejdet gjort, og hvad der er inkluderet i sættet, varierer fra producent til producent.
Typisk vil en grundlæggende SDK omfatte en compiler-, fejlfindings- og applikationsprogrammeringsgrænseflade (API’er), men de kan også omfatte et af følgende:
- Dokumentation
- Biblioteker
- Redaktører
- Runtime / udviklingsmiljøer
- Test- / analyseværktøjer
- Drivere
- Netværksprotokoller
En god SDK leverer alle komponenter, som en udvikler måtte finde nødvendige, når de opretter apps til det specifikke produkt. Nogle SDK’er inkluderer også et eksempel eller et grundlæggende testprojekt, der hjælper udviklere med at komme i gang så hurtigt som muligt.
Nogle eksempler på softwareudviklingssæt er Java-udviklingssættet (JDK), Windows 7 SDK, MacO’erne X SDK og iPhone SDK. Som et specifikt eksempel kan Kubernetes-operatøren SDK hjælpe dig med at udvikle din egen Kubernetes-operatør. Den indeholder API’er på højt niveau, værktøjer til stilladser og kodegenerering og udvidelser til at dække almindelige operatørbrugssager.
En API er inkluderet i de fleste SDK’er for at forbinde nye apps eller projekter på kildetekstniveau. De inkluderer også eksempelkode, som giver udviklere eksempler på programmer og biblioteker, der hjælper dem med at lære, hvordan man bygger grundlæggende programmer. Derfra kan de gå videre til at udvikle mere komplekse apps.
Nogle SDK’er indeholder dokumentation om, hvordan man bruger API’erne, samt selvstudier, ofte stillede spørgsmål og eksempler på grafik – da det nogle gange kan tage et stykke tid for en udvikler at lære at bruge en ny SDK. Af denne grund er en intuitiv programmeringsgrænseflade (eller mere omfattende dokumentation) nyttig til at tilskynde udviklere til at bruge en virksomheds bestemte program i stedet for en konkurrent.
Tilsvarende kan en SDK være en god måde for en virksomhed at introducere udviklere til deres produkt og tilskynde dem til at oprette apps ved hjælp af deres platform eller operativsystem. Af denne grund er de fleste SDK’er gratis at bruge – en udvikler kan bare downloade det og starte programmeringen med det samme.
Nogle ting at overveje
Nogle SDK’er kan have regler eller aftaler, der skal anerkendes og sendes til, før de kan bruges – især til nye produkter i et alfa- eller beta-stadium – eller til software med algoritmer, der ikke offentliggøres (ikke open source). En SDK kan også være underlagt en licensaftale, så den oprettede software ikke frigives under en inkompatibel licens.
En udvikler skal tage disse ting i betragtning, når han vælger, hvilken SDK han vil begynde at arbejde med. For eksempel:
- En SDK med en proprietær licens er uforenelig med udviklingen af open source-software.
- SDK’er med en General Public License (GPL) fungerer ikke for udvikling af proprietære apps
- Der er advarsler om at arbejde omkring en Lesser General Public License (LGPL) til projekter med proprietære kodeelementer.
Hvorfor vælge Red Hat?
Open source-applikationer udvikles løbende af amatører og fagfolk, fordi deres SDK’er muliggør kodning af nye designs og funktionalitetsudvidelser, som deles derefter med resten af samfundet.
Red Hat samler det bedste værktøj, løsninger og service inden for applikationsudvikling, og vi gør det på open source-måde. Uanset om du søger efter en platform til at bygge din app på (Red Hat OpenShift), et runtime-miljø til at bygge dem i (Red Hat Runtimes) eller et udviklingsmiljø med alle de nødvendige værktøjer til at udvikle, teste og implementere applikationer ( Red Hat CodeReady Studio), Red Hat har dig dækket.