API vs SDK
API (Application Programming Interface) je interfejs koji omogućava softverskim programima da međusobno komuniciraju. Definira skup pravila kojih se programi trebaju pridržavati da bi međusobno komunicirali. API-ji se mogu koristiti za komunikaciju između softverskih aplikacija, biblioteka i operativnih sistema. SDK (Software Development Kit) je skup alata koji se mogu koristiti za razvoj softverskih aplikacija koje ciljaju određenu platformu. SDK-ovi bi uključivali alate za otklanjanje grešaka i druge uslužne programe koji bi pomogli programerima i svi oni su predstavljeni kao IDE (Integrirano razvojno okruženje).
Šta je API?
API je interfejs koji omogućava softverskim programima da međusobno komuniciraju. Definira skup pravila kojih se programi trebaju pridržavati da bi međusobno komunicirali. API-ji generalno određuju kako treba definirati rutine, strukture podataka itd. da bi dvije aplikacije mogle komunicirati. API-ji se razlikuju po funkcionalnosti koju pružaju. Postoje opšti API-ji koji pružaju bibliotečke funkcionalnosti programskog jezika kao što je Java API. Postoje i API-ji koji pružaju specifične funkcionalnosti kao što je API za Google Maps. Postoje i API-ji zavisni od jezika, koje može koristiti samo određeni programski jezik. Nadalje, postoje jezički nezavisni API-ji koji se mogu koristiti s nekoliko programskih jezika. API-je treba implementirati vrlo pažljivo izlažući samo potrebnu funkcionalnost ili podatke vani, dok ostali dijelovi aplikacije ostaju nedostupni. Upotreba API-ja postala je veoma popularna na internetu. Postalo je vrlo uobičajeno da se neke od funkcionalnosti i podataka preko API-ja dopuštaju van na Web. Ova funkcionalnost se može kombinirati kako bi se korisnicima ponudila poboljšana funkcionalnost.
Šta je SDK?
SDK je skup alata koji se mogu koristiti za razvoj softverskih aplikacija koje ciljaju određenu platformu. SDK-ovi uključuju alate, biblioteke, dokumentaciju i primjer koda koji bi pomogao programeru da razvije aplikaciju. Većina SDK-ova može se preuzeti sa interneta, a mnogi SDK-ovi su besplatni kako bi se programeri podstakli da koriste programski jezik SDK-a. Neki široko korišćeni SDK-ovi su Java SDK (JDK) koji uključuje sve biblioteke, pomoćne programe za otklanjanje grešaka, itd., što bi znatno olakšalo pisanje programa u Javi. SDK-ovi olakšavaju život programeru softvera, jer nema potrebe za traženjem komponenti/alata koji su međusobno kompatibilni i svi su integrisani u jedan paket koji se lako instalira.
Koja je razlika između API-ja i SDK-a?
API je interfejs koji omogućava softverskim programima da međusobno komuniciraju, dok je SDK skup alata koji se mogu koristiti za razvoj softverskih aplikacija koje ciljaju određenu platformu. Najjednostavnija verzija SDK-a može biti API koji sadrži neke datoteke potrebne za interakciju sa određenim programskim jezikom. Dakle, API se može posmatrati kao jednostavan SDK bez sve podrške za otklanjanje grešaka, itd.