Kaj je API?

Verjetno ste že zasledili izraz "API". Posodobitve operacijskega sistema, spletnega brskalnika in aplikacij pogosto napovedujejo nove API-je za razvijalce. Kaj pa je API?

Vmesnik za programiranje aplikacij

Izraz API je okrajšava in pomeni "Application Programming Interface".

Zamislite si API kot jedilnik v restavraciji. V meniju je seznam jedi, ki jih lahko naročite, skupaj z opisom posamezne jedi. Ko določite, katere elemente v meniju želite, kuhinja restavracije opravi svoje delo in vam ponudi nekaj končnih jedi. Ne veste natančno, kako v restavraciji pripravljajo to hrano, in vam v resnici ni treba.

Podobno API navaja kup operacij, ki jih lahko uporabljajo razvijalci, skupaj z opisom njihovega početja. Razvijalcu ni treba vedeti, kako na primer operacijski sistem gradi in prikaže pogovorno okno »Shrani kot«. Vedeti morajo le, da je na voljo za uporabo v njihovi aplikaciji.

To ni popolna metafora, saj bodo razvijalci morda morali API-ju posredovati lastne podatke, da bodo dobili rezultate, zato je morda bolj kot modna restavracija, kjer lahko zagotovite nekaj svojih sestavin, s katerimi bo kuhinja delala.

Ampak na splošno je natančen. API-ji omogočajo razvijalcem, da prihranijo čas, tako da izkoristijo implementacijo platforme in opravijo drobno delo. To pomaga zmanjšati količino kode, ki jo morajo ustvariti razvijalci, prav tako pa tudi več doslednosti v aplikacijah za isto platformo. API-ji lahko nadzorujejo dostop do virov strojne in programske opreme.

API-ji olajšajo življenje razvijalcem

Recimo, da želite razviti aplikacijo za iPhone. Appleov operacijski sistem iOS ponuja veliko število API-jev - tako kot vsak drugi operacijski sistem -, da vam to olajša.

Če želite vdelati spletni brskalnik, da bo na primer prikazal eno ali več spletnih strani, vam lastnega spletnega brskalnika ni treba programirati iz nič, samo za svojo aplikacijo. API WKWebView uporabljate za vdelavo predmeta brskalnika WebKit (Safari) v svojo aplikacijo.

Če želite zajeti fotografije ali videoposnetke s iPhone-ove kamere, vam ni treba pisati lastnega vmesnika kamere. API kamere uporabljate za vdelavo iPhone-ove vgrajene kamere v aplikacijo. Če ne bi obstajali API-ji, ki bi to olajšali, bi morali razvijalci aplikacij ustvariti lastno programsko opremo za kamere in interpretirati vhode strojne opreme kamere. Toda razvijalci Appleovega operacijskega sistema so naredili vse to trdo delo, tako da so lahko razvijalci samo uporabili API kamere za vdelavo kamere in nato nadaljevali z izdelavo svoje aplikacije. Ko bo Apple izboljšal API kamere, bodo vse aplikacije, ki se nanj zanesejo, to izboljšavo samodejno izkoristile.

To velja za vsako platformo. Ali želite na primer ustvariti pogovorno okno v sistemu Windows? Za to obstaja API. Ali želite podpirati preverjanje pristnosti prstnih odtisov v sistemu Android? Tudi za to obstaja API, zato vam ni treba preizkusiti vseh različnih senzorjev prstnih odtisov proizvajalca Android. Razvijalcem ni treba znova in znova izumljati kolesa.

API-ji nadzorujejo dostop do virov

API-ji se uporabljajo tudi za nadzor dostopa do naprav strojne opreme in funkcij programske opreme, za katere aplikacija morda nima nujno dovoljenja za uporabo. Zato imajo API-ji pogosto veliko vlogo pri varnosti.

POVEZANE: Kako preprečiti, da spletna mesta zahtevajo vašo lokacijo

Če ste na primer kdaj obiskali spletno mesto in v brskalniku videli sporočilo, da spletno mesto zahteva vašo natančno lokacijo, to spletno mesto poskuša uporabiti API za geolokacijo v vašem spletnem brskalniku. Spletni brskalniki razkrijejo API-je, kot je ta, da spletnim razvijalcem olajšajo dostop do vaše lokacije - lahko se le vprašajo "kje si?" brskalnik pa težko najde dostop do GPS ali bližnjih omrežij Wi-Fi, da bi našel vašo fizično lokacijo.

Vendar brskalniki te informacije razkrijejo tudi prek API-ja, ker je dostop do njih mogoče nadzorovati. Ko spletno mesto želi dostop do vaše natančne fizične lokacije, ga lahko dobijo le prek API-ja za lokacijo. In ko jo spletno mesto poskuša uporabiti, lahko vi - uporabnik - to zahtevo dovolite ali zavrnete. Edini način dostopa do virov strojne opreme, kot je senzor GPS, je prek API-ja, tako da lahko brskalnik nadzoruje dostop do strojne opreme in omejuje, kaj lahko naredijo aplikacije.

To isto načelo se uporablja v sodobnih mobilnih operacijskih sistemih, kot sta iOS in Android, kjer imajo mobilne aplikacije dovoljenja, ki jih je mogoče uveljaviti z nadzorom dostopa do API-jev. Če na primer razvijalec poskuša dostopati do kamere prek API-ja kamere, lahko zavrnete zahtevo za dovoljenje in aplikacija nima možnosti dostopa do kamere vaše naprave.

Datotečni sistemi, ki uporabljajo dovoljenja - tako kot v sistemih Windows, Mac in Linux - imajo dovoljenja, ki jih vsiljuje API datotečnega sistema. Tipična aplikacija nima neposrednega dostopa do surovega fizičnega trdega diska. Namesto tega mora aplikacija dostopati do datotek prek API-ja.

API-ji se uporabljajo za komunikacijo med storitvami

API-ji se uporabljajo tudi iz vseh drugih razlogov. Če ste na primer na spletnem mestu kdaj videli predmet Google Maps, ki je vdelan v spletno mesto, to spletno mesto uporablja API Google Maps za vdelavo tega zemljevida. Google izpostavlja API-je, kot je ta, spletnim razvijalcem, ki lahko nato API-je zapletejo zapletene predmete na svoje spletno mesto. Če taki API-ji ne bi obstajali, bodo razvijalci morda morali ustvariti lastne zemljevide in zagotoviti lastne podatke zemljevidov, da bodo na spletno mesto postavili malo interaktivnega zemljevida.

In ker gre za API, lahko Google nadzoruje dostop do Google Zemljevidov na spletnih mestih tretjih oseb, s čimer zagotavlja, da ga uporabljajo dosledno, namesto da poskuša neurejeno vdelati okvir, ki na primer prikazuje spletno mesto Google Zemljevidov.

To velja za številne različne spletne storitve. Obstajajo API-ji za zahtevanje prevajanja besedila iz Google Translate ali za vdelavo Facebook komentarjev ali tweetov iz Twitterja na spletno mesto.

POVEZANE: Kaj je OAuth? Kako delujejo ti gumbi za prijavo v Facebook, Twitter in Google

Standard OAuth opredeljuje tudi številne API-je, ki omogočajo prijavo na spletno mesto z drugo storitvijo - na primer za uporabo računov Facebook, Google ali Twitter za prijavo na novo spletno mesto, ne da bi ustvarili nov uporabniški račun samo za to spletno mesto . API-ji so standardne pogodbe, ki določajo, kako razvijalci komunicirajo s storitvijo, in vrsto rezultata, ki bi ga razvijalci morali pričakovati nazaj.

Če ste to že prestali, boste imeli boljšo predstavo o tem, kaj je API. Končno vam dejansko ni treba vedeti, kaj je API, razen če ste razvijalec. Če pa vidite, da je programska platforma ali storitev dodala nove API-je za različno strojno opremo ali storitve, bi morali razvijalci lažje izkoristiti takšne funkcije.

Zasluge za slike: patpitchaya / Shutterstock.com.