Een software development kit (SDK) is een set tools die wordt geleverd door de fabrikant van (meestal) een hardwareplatform, besturingssysteem (OS) of programmeertaal. SDK’s helpen ontwikkelaars applicaties te maken die specifiek zijn voor dat platform, systeem of programmeertaal. Zie het als een soort plastic zak met gereedschap die wordt geleverd bij de onderdelen van een dressoir die u heeft gekocht om zelf in elkaar te zetten. Je hebt wat je nodig hebt om de klus te klaren, en wat er in de kit zit, varieert van fabrikant tot fabrikant.
Normaal gesproken bevat een standaard SDK een compiler, debugger en Application Programming Interfaces (API’s), maar ze kunnen ook het volgende bevatten:
- Documentatie
- Bibliotheken
- Editors
- Runtime / ontwikkelomgevingen
- Test- / analysehulpmiddelen
- Stuurprogramma’s
- Netwerkprotocollen
Een goede SDK levert alle componenten die een ontwikkelaar nodig vindt bij het maken van apps voor dat specifieke product. Sommige SDK’s bevatten ook een voorbeeld- of basistestproject om ontwikkelaars zo snel mogelijk op weg te helpen.
Enkele voorbeelden van softwareontwikkelingskits zijn de Java Development Kit (JDK), de Windows 7 SDK, de MacO’s X SDK en de iPhone SDK. Als specifiek voorbeeld kan de Kubernetes-operator-SDK u helpen bij het ontwikkelen van uw eigen Kubernetes-operator. Het bevat API’s op hoog niveau, tools voor steigers en codegeneratie, en uitbreidingen voor veelvoorkomende gebruiksscenario’s van operators.
In de meeste SDK’s is een API opgenomen om nieuwe apps of projecten op brontekstniveau te verbinden. Ze bevatten ook vaak voorbeeldcode, die ontwikkelaars voorbeeldprogramma’s en bibliotheken geeft om hen te helpen leren hoe ze basisprogramma’s kunnen bouwen. Van daaruit kunnen ze doorgaan met het ontwikkelen van complexere apps.
Sommige SDK’s bevatten documentatie over het gebruik van de API’s, maar ook zelfstudies, veelgestelde vragen en voorbeeldafbeeldingen, aangezien het soms even kan duren voordat een ontwikkelaar leert hoe hij een nieuwe SDK moet gebruiken. Om deze reden is een intuïtieve programmeerinterface (of uitgebreidere documentatie) nuttig om ontwikkelaars aan te moedigen het specifieke programma van een bedrijf te gebruiken in plaats van de optie van een concurrent.
Evenzo kan een SDK een geweldige manier zijn voor een bedrijf om ontwikkelaars kennis te laten maken met hun product en hen aan te moedigen apps te maken met hun platform of besturingssysteem. Om deze reden zijn de meeste SDK’s gratis te gebruiken – een ontwikkelaar kan deze gewoon downloaden en direct beginnen met programmeren.
Enkele zaken om te overwegen
Sommige SDK’s hebben mogelijk regels of overeenkomsten die moeten worden erkend en ingediend voordat ze kunnen worden gebruikt, vooral voor nieuwe producten in een alfa- of bètafase, of voor software met algoritmen die niet openbaar worden gemaakt (niet open source). Een SDK kan ook onderhevig zijn aan een licentieovereenkomst, zodat de software die wordt gemaakt niet wordt vrijgegeven onder een incompatibele licentie.
Een ontwikkelaar moet met deze dingen rekening houden bij het kiezen van de SDK waarmee hij aan de slag gaat. Bijvoorbeeld:
- Een SDK met een eigen licentie is niet compatibel met de ontwikkeling van open source software.
- SDK’s met een General Public License (GPL) werken niet voor propriëtaire apps ontwikkelen
- Er zijn kanttekeningen bij het werken rond een Lesser General Public License (LGPL) voor projecten met propriëtaire code-elementen.
Waarom kiezen voor Red Hat?
Open source-applicaties worden continu ontwikkeld door amateurs en professionals, omdat hun SDK’s het coderen van nieuwe ontwerpen en functionaliteitsuitbreidingen mogelijk maken, die worden vervolgens gedeeld met de rest van de gemeenschap.
Red Hat brengt de beste tool, oplossingen en service samen in applicatie-ontwikkeling, en we doen het op de open source manier. Of je nu op zoek bent naar een platform om je app op te bouwen (Red Hat OpenShift), een runtime-omgeving om ze in te bouwen (Red Hat Runtimes), of een ontwikkelomgeving met alle tools die nodig zijn om applicaties te ontwikkelen, testen en implementeren ( Red Hat CodeReady Studio), Red Hat heeft u gedekt.