API vs SDK
API (Application Programming Interface) je sučelje koje omogućuje međusobnu interakciju softverskih programa. Definira skup pravila kojih se trebaju pridržavati programi da bi međusobno komunicirali. API-ji se mogu koristiti za komunikaciju između softverskih aplikacija, biblioteka i operativnih sustava. SDK (Software Development Kit) je skup alata koji se mogu koristiti za razvoj softverskih aplikacija usmjerenih na određenu platformu. SDK-ovi bi uključivali alate za otklanjanje pogrešaka i druge uslužne programe koji bi pomogli programerima i svi su oni predstavljeni kao IDE (Integrirano razvojno okruženje).
Što je API?
API je sučelje koje omogućuje međusobnu interakciju softverskih programa. Definira skup pravila kojih se trebaju pridržavati programi da bi međusobno komunicirali. API-ji općenito određuju kako bi rutine, strukture podataka itd. trebale biti definirane da bi dvije aplikacije mogle komunicirati. API-ji se razlikuju po funkcionalnosti koju pružaju. Postoje opći API-ji koji pružaju funkcionalnosti knjižnice programskog jezika kao što je Java API. Postoje i API-ji koji pružaju specifične funkcije kao što je Google Maps API. Postoje i API-ji ovisni o jeziku, koje može koristiti samo određeni programski jezik. Nadalje, postoje API-ji neovisni o jeziku koji se mogu koristiti s nekoliko programskih jezika. API-je treba implementirati vrlo pažljivo izlažući samo potrebne funkcije ili podatke vani, dok ostale dijelove aplikacije drže nedostupnima. Korištenje API-ja postalo je vrlo popularno na internetu. Postalo je vrlo uobičajeno dopustiti neke funkcije i podatke putem API-ja prema vani na webu. Ova se funkcionalnost može kombinirati kako bi se korisnicima ponudila poboljšana funkcionalnost.
Što je SDK?
SDK je skup alata koji se mogu koristiti za razvoj softverskih aplikacija usmjerenih na određenu platformu. SDK-ovi uključuju alate, biblioteke, dokumentaciju i ogledni kod koji bi pomogao programeru da razvije aplikaciju. Većina SDK-ova može se preuzeti s interneta, a mnogi od SDK-ova dostupni su besplatno kako bi potaknuli programere da koriste programski jezik SDK-a. Neki naširoko korišteni SDK-ovi su Java SDK (JDK) koji uključuje sve biblioteke, pomoćne programe za otklanjanje pogrešaka itd., što bi pisanje programa u Javi učinilo mnogo lakšim. SDK-ovi olakšavaju život programera softvera, budući da nema potrebe tražiti komponente/alate koji su međusobno kompatibilni i svi su integrirani u jedan paket koji se lako instalira.
Koja je razlika između API-ja i SDK-a?
API je sučelje koje omogućuje međusobnu interakciju softverskih programa, dok je SDK skup alata koji se mogu koristiti za razvoj softverskih aplikacija usmjerenih na određenu platformu. Najjednostavnija verzija SDK-a mogla bi biti API koji sadrži neke datoteke potrebne za interakciju s određenim programskim jezikom. Dakle, API se može promatrati kao jednostavan SDK bez podrške za otklanjanje pogrešaka, itd.