API vs SDK
Tarkvara arendusprotsessis mängivad olulist rolli nii rakenduse programmeerimisliides (API) kui ka tarkvara arenduskomplekt (SDK). Nagu nimigi ütleb, toimib API liidesena erinevate rakenduste või platvormide vahel ja aitab erinevatel tarkvaraprogrammidel omavahel suhelda. API koosneb üldiselt spetsifikatsioonidest, mida saab kasutada erinevate tarkvaraprogrammide vahelise liidese jaoks. Teiselt poolt, SDK, tuntud ka kui devkit, koosneb arendusriistade komplektist ja eelnevalt kirjutatud koodidest, mida arendajad saavad kasutada rakenduste arendamiseks. SDK-d aitavad üldiselt vähendada arendajate pingutusi ja aega tarkvararakenduste arendamiseks oma unikaalse koodi kirjutamiseks.
API võib sisaldada rutiinide, andmestruktuuride, protokollide ja objektiklasside spetsifikatsioone, et hõlbustada interaktsiooni erinevate programmide vahel. SDK-d koosnevad tavaliselt API-st failide või keeruka riistvara kujul, et hõlbustada integreerimist manustatud süsteemiga. SDK aitab sageli vältida töö dubleerimist ja säästab arendaja aega uute tarkvararakenduste loomisel. API sisaldab sageli reeglite ja spetsifikatsioonide komplekti, mida tarkvaraprogrammid peavad lihtsa suhtluse hõlbustamiseks järgima. API ei sisalda ühtegi kirjalikku näidiskoodi, selle asemel sisaldab funktsioonikõnede ja funktsioonide prototüüpide käitumise üksikasjalikku kirjeldust. SDK sisaldab näidisprogramme, tehnilisi märkusi, utiliite ja silumisriistu, mille programmeerija saab rakenduste arendamisel kaasata, säästes sellega palju aega ja vaeva.
API võib sisaldada kirjeldust selle kohta, kuidas konkreetset ülesannet saab täpselt täita. See võib sisaldada funktsioonikõnede või funktsioonide prototüüpide kirjeldust, pakkudes üksikasju funktsioonidele edastatavate parameetrite arvu ja tüübi ning tagastatud väärtuse tüübi kohta. Sõltuvalt piirkonnast, kus API-d kasutatakse, saab selle välja töötada üldise API-na, mis sisaldab tervikkomplekti, mis on pakitud programmeerimiskeele raamatukogusse, näiteks C või C ++ standardse mallide kogu, või saab seda ehitada konkreetse API-na teatud tüüpi probleemide jaoks, näiteks Java API XML-i veebiteenuste jaoks. Mõnikord luuakse SDK-d lisatud litsentsidega eesmärgiga muuta need muu tarkvaraga ühildamatuks. Enamik SDK-sid on Interneti kaudu tasuta allalaadimiseks saadaval. Mõni SDK pakkuja asendab termini „tarkvara” lihtsalt konkreetse terminiga. Näiteks pakuvad Microsoft Corporation ja Apple, Inc. tarkvaraarenduskomplekti asemel draiverite arenduskomplekti seadme draiverite arendamiseks.
Kokkuvõte:
1. API sisaldab ainult funktsioonide spetsifikatsioone ja kirjeldusi, samas kui SDK
sisaldab API-sid, näidiskoodi, tehnilist dokumentatsiooni, tööriistu ja utiliite.
2. API toimib erinevate rakenduste liidesena üksteisega suhtlemiseks
arvestades, et SDK pakub tarkvara väljatöötamiseks vajalikke tööriistu ja utiliite
programmi.
3. API pakub funktsioonidele lisatavate parameetüüpide ja nende kirjeldusi
tagasiväärtuse tüübid, samas kui SDK sisaldab raamatukogusid, mida saab kasutada arendamiseks
tarkvararakendused.
4. Rakendusliidesed sisaldavad sageli klasside määratluste kirjeldusi ja nende klasside käitumist. SDK sisaldab API dokumentatsiooni, samuti näidisprogramme ja tööriistu.