Un kit de dezvoltare software (SDK) este un set de instrumente furnizate de producătorul (de obicei) a unei platforme hardware, a unui sistem de operare (OS) sau a unui limbaj de programare. SDK-urile îi ajută pe dezvoltatori să creeze aplicații specifice platformei, sistemului sau limbajului de programare respectiv. Gândiți-vă la fel ca la punga de plastic cu instrumente care vine ambalată cu părțile unei sifoniere pe care le-ați cumpărat pentru a vă asambla. Aveți de ce aveți nevoie pentru a face treaba și ceea ce este inclus în kit variază de la producător la producător.
De obicei, un SDK de bază va include un compilator, un depanator și interfețe de programare a aplicațiilor (API), dar acestea pot include, de asemenea, oricare dintre următoarele:
- Documentație
- Biblioteci
- Editori
- Runtime / medii de dezvoltare
- Instrumente de testare / analiză
- Drivere
- Protocoale de rețea
Un SDK bun va furniza componentele pe care un dezvoltator le-ar putea considera necesare atunci când creează aplicații pentru acel produs specific. Unele SDK-uri vor include, de asemenea, un exemplu sau un proiect de test de bază pentru a ajuta dezvoltatorii să înceapă cât mai repede posibil.
Unele exemple de kituri de dezvoltare software sunt kitul de dezvoltare Java (JDK), SDK-ul Windows 7, MacO-urile X SDK și iPhone SDK. Ca un exemplu specific, operatorul SDK Kubernetes vă poate ajuta să vă dezvoltați propriul operator Kubernetes. Conține API-uri de nivel înalt, instrumente pentru generarea de schele și coduri și extensii pentru a acoperi cazurile de utilizare obișnuite ale operatorilor.
Un API este inclus în majoritatea SDK-urilor pentru a conecta aplicații sau proiecte noi la nivel de text sursă. De asemenea, acestea includ deseori un exemplu de cod, care oferă dezvoltatorilor exemple de programe și biblioteci pentru ai ajuta să învețe cum să construiască programe de bază. De acolo, ei pot trece la dezvoltarea de aplicații mai complexe.
Unele SDK-uri includ documentație despre modul de utilizare a API-urilor, precum și tutoriale, întrebări frecvente și exemple grafice – deoarece uneori poate dura un timp până când un dezvoltator să învețe cum să utilizeze un SDK nou. Din acest motiv, o interfață de programare intuitivă (sau o documentație mai extinsă) este utilă pentru a încuraja dezvoltatorii să folosească programul special al unei companii în loc de opțiunea unui concurent.
În mod similar, un SDK poate fi o modalitate excelentă pentru o companie să introducă dezvoltatorii produsului lor și să îi încurajeze să creeze aplicații folosind platforma sau sistemul de operare. Din acest motiv, majoritatea SDK-urilor sunt libere de utilizat – un dezvoltator poate doar să-l descarce și să înceapă programarea imediat.
Unele lucruri de luat în considerare
Unele SDK-uri pot avea reguli sau acorduri care trebuie recunoscute și transmise înainte de a putea fi utilizate – în special pentru produsele noi într-o etapă alfa sau beta – sau pentru software cu algoritmi care nu sunt dezvăluite publicului (nu open source). Un SDK poate fi, de asemenea, supus unui acord de licență, astfel încât software-ul creat să nu fie lansat sub o licență incompatibilă.
Un dezvoltator trebuie să ia în considerare aceste lucruri atunci când alege cu ce SDK să înceapă să lucreze. De exemplu:
- Un SDK cu o licență proprietară este incompatibil cu dezvoltarea de software open source.
- SDK-urile cu licență publică generală (GPL) nu vor funcționa pentru dezvoltarea de aplicații proprietare
- Există avertismente pentru a lucra în jurul unei licențe publice generale mai mici (LGPL) pentru proiecte cu elemente de cod proprietar.
De ce să alegeți Red Hat?
Aplicațiile open source sunt dezvoltate continuu, de către amatori și profesioniști, deoarece SDK-urile lor permit codificarea noilor modele și extinderi de funcționalități, care sunt apoi împărtășite cu restul comunității.
Red Hat reunește cele mai bune instrumente, soluții și servicii în dezvoltarea aplicațiilor și o facem în modul open source. Fie că sunteți în căutarea unei platforme pe care să vă construiți aplicația (Red Hat OpenShift), un mediu de rulare în care să le construiți (Red Hat Runtimes) sau un mediu de dezvoltare cu toate instrumentele necesare dezvoltării, testării și implementării aplicațiilor ( Red Hat CodeReady Studio), Red Hat vă acoperă.