Un kit di sviluppo software (SDK) è un insieme di strumenti forniti dal produttore di (solitamente) una piattaforma hardware, un sistema operativo (OS) o un linguaggio di programmazione. Gli SDK aiutano gli sviluppatori a creare applicazioni specifiche per quella piattaforma, sistema o linguaggio di programmazione. Pensa un po ‘come il sacchetto di plastica degli strumenti che viene fornito con le parti di una cassettiera che hai acquistato per assemblare te stesso. Hai ciò di cui hai bisogno per portare a termine il lavoro e ciò che è incluso nel kit varia da produttore a produttore.
In genere, un SDK di base includerà un compilatore, un debugger e interfacce di programmazione di applicazioni (API), ma possono anche includere quanto segue:
- Documentazione
- Librerie
- Editor
- Ambienti di runtime / sviluppo
- Strumenti di test / analisi
- Driver
- Protocolli di rete
Un buon SDK fornirà tutti i componenti che uno sviluppatore potrebbe ritenere necessari durante la creazione di app per quel prodotto specifico. Alcuni SDK includeranno anche un esempio o un progetto di test di base per aiutare gli sviluppatori a iniziare il più rapidamente possibile.
Alcuni esempi di kit di sviluppo software sono Java Development Kit (JDK), Windows 7 SDK, MacOs X SDK e iPhone SDK. Come esempio specifico, l’SDK dell’operatore Kubernetes può aiutarti a sviluppare il tuo operatore Kubernetes. Contiene API di alto livello, strumenti per lo scaffolding e la generazione di codice ed estensioni per coprire i casi d’uso comuni degli operatori.
Nella maggior parte degli SDK è inclusa un’API per connettere nuove app o progetti a livello di testo di origine. Spesso includono anche codice di esempio, che fornisce agli sviluppatori programmi e librerie di esempio per aiutarli a imparare a creare programmi di base. Da lì, possono passare allo sviluppo di app più complesse.
Alcuni SDK includono documentazione su come utilizzare le API, nonché tutorial, domande frequenti e immagini di esempio, poiché a volte uno sviluppatore può impiegare del tempo per imparare a utilizzare un nuovo SDK. Per questo motivo, un’interfaccia di programmazione intuitiva (o una documentazione più ampia) è utile per incoraggiare gli sviluppatori a utilizzare il programma specifico di un’azienda invece dell’opzione di un concorrente.
Allo stesso modo, un SDK può essere un ottimo modo per un’azienda per presentare agli sviluppatori il loro prodotto e incoraggiarli a creare app utilizzando la loro piattaforma o sistema operativo. Per questo motivo, la maggior parte degli SDK è gratuita: uno sviluppatore può semplicemente scaricarla e iniziare a programmare immediatamente.
Alcune cose da considerare
Alcuni SDK possono avere regole o accordi che devono essere riconosciuti e sottoposti a prima di poter essere utilizzati, specialmente per i nuovi prodotti in una fase alpha o beta, oppure per software con algoritmi non divulgati al pubblico (non open source). Un SDK può anche essere soggetto a un contratto di licenza, in modo che il software creato non venga rilasciato con una licenza incompatibile.
Uno sviluppatore deve tenere in considerazione queste cose quando sceglie con quale SDK iniziare a lavorare. Ad esempio:
- Un SDK con una licenza proprietaria non è compatibile con lo sviluppo di software open source.
- Gli SDK con una Licenza Pubblica Generica (GPL) non funzioneranno per sviluppo di app proprietarie
- Ci sono avvertenze per lavorare intorno a una licenza pubblica generale minore (LGPL) per progetti con elementi di codice proprietari.
Perché scegliere Red Hat?
Le applicazioni open source sono sviluppate continuamente, da dilettanti e professionisti, perché i loro SDK consentono la codifica di nuovi design ed espansioni di funzionalità, che vengono poi condivisi con il resto della comunità.
Red Hat riunisce i migliori strumenti, soluzioni e servizi nello sviluppo di applicazioni e lo facciamo in modo open source. Sia che tu stia cercando una piattaforma su cui creare la tua app (Red Hat OpenShift), un ambiente di runtime in cui costruirla (Red Hat Runtimes) o un ambiente di sviluppo con tutti gli strumenti necessari per sviluppare, testare e distribuire applicazioni ( Red Hat CodeReady Studio), Red Hat ha quello che fa per te.