Et programvareutviklingssett (SDK) er et sett med verktøy levert av produsenten av (vanligvis) en maskinvareplattform, operativsystem (OS) eller programmeringsspråk. SDK-er hjelper utviklere med å lage applikasjoner som er spesifikke for den plattformen, systemet eller programmeringsspråket. Tenk på det som en plastpose med verktøy som følger med delene av en kommode du har kjøpt for å montere deg selv. Du har det du trenger for å få jobben gjort, og hva som er inkludert i settet, varierer fra produsent til produsent.
Vanligvis vil en grunnleggende SDK inneholde en kompilator, en feilsøking og applikasjonsprogrammeringsgrensesnitt (APIer), men de kan også inneholde noe av følgende:
- Dokumentasjon
- Biblioteker
- Redaktører
- Runtime / utviklingsmiljøer
- Test- / analyseverktøy
- Drivere
- Nettverksprotokoller
En god SDK vil levere komponenter som en utvikler måtte finne nødvendig når de oppretter apper for det spesifikke produktet. Noen SDK-er vil også inkludere et eksempel eller et grunnleggende testprosjekt for å hjelpe utviklere med å komme i gang så raskt som mulig.
Noen eksempler på programvareutviklingssett er Java Development Kit (JDK), Windows 7 SDK, MacOs X SDK og iPhone SDK. Som et spesifikt eksempel kan Kubernetes-operatøren SDK hjelpe deg med å utvikle din egen Kubernetes-operatør. Den inneholder APIer på høyt nivå, verktøy for stillas og generering av kode, og utvidelser for å dekke vanlige operatørbrukssaker.
En API er inkludert i de fleste SDKer for å koble til nye apper eller prosjekter på kildetekstnivå. De inkluderer også eksempelkode, som gir utviklere eksempler på programmer og biblioteker som hjelper dem å lære å bygge grunnleggende programmer. Derfra kan de gå videre til å utvikle mer komplekse apper.
Noen SDK-er inneholder dokumentasjon om hvordan du bruker APIene, samt veiledninger, vanlige spørsmål og eksempler på grafikk – siden det noen ganger kan ta en stund for en utvikler å lære seg å bruke en ny SDK. Av denne grunn er et intuitivt programmeringsgrensesnitt (eller mer omfattende dokumentasjon) nyttig for å oppmuntre utviklere til å bruke et selskaps bestemte program i stedet for en konkurrent.
Tilsvarende kan en SDK være en fin måte for et selskap. å introdusere utviklere for deres produkt og oppmuntre dem til å lage apper ved hjelp av plattformen eller operativsystemet. Av denne grunn er de fleste SDK-er gratis å bruke – en utvikler kan bare laste den ned og begynne å programmere med en gang.
Noen ting du bør vurdere
Noen SDK-er kan ha regler eller avtaler som må godkjennes og sendes til før de kan brukes – spesielt for nye produkter i et alfa- eller beta-stadium – eller for programvare med algoritmer som ikke blir offentliggjort (ikke åpen kildekode). En SDK kan også være underlagt en lisensavtale, slik at programvaren som er opprettet ikke blir gitt ut under en inkompatibel lisens.
En utvikler må ta disse tingene i betraktning når han velger hvilken SDK du skal begynne å jobbe med. For eksempel:
- En SDK med en proprietær lisens er inkompatibel med utvikling av programvare med åpen kildekode.
- SDK-er med en GPL (General Public License) fungerer ikke for utvikling av proprietære apper
- Det er forbehold om å jobbe rundt en Lesser General Public License (LGPL) for prosjekter med proprietære kodeelementer.
Hvorfor velge Red Hat?
Applikasjoner med åpen kildekode utvikles kontinuerlig av amatører og fagfolk, fordi SDK-ene deres tillater koding av nye design og utvidelser av funksjonalitet, som blir deretter delt med resten av samfunnet.
Red Hat samler det beste verktøyet, løsningene og tjenestene innen applikasjonsutvikling, og vi gjør det på åpen kildekode-måte. Enten du søker etter en plattform å bygge appen din på (Red Hat OpenShift), et kjøretidsmiljø å bygge dem i (Red Hat Runtimes), eller et utviklingsmiljø med alle verktøyene som trengs for å utvikle, teste og distribuere applikasjoner ( Red Hat CodeReady Studio), Red Hat har du dekket.