Domača » kako » Kaj je API?

    Kaj je API?

    Verjetno ste videli izraz "API". Operacijski sistem, spletni brskalnik in posodobitve aplikacij pogosto objavljajo nove API-je za razvijalce. Toda kaj je API?

    Vmesnik aplikacijskega programiranja

    Izraz API je kratica in pomeni »Application Programming Interface«.

    Pomislite na API kot na meni v restavraciji. Meni ponuja seznam jedi, ki jih lahko naročite, skupaj z opisom vsake jedi. Ko določite, katere menijske elemente želite, kuhinja v restavraciji dela in vam priskrbi nekaj končnih jedi. Ne veste natančno, kako restavracija pripravlja to hrano, in tega res ne potrebujete.

    Podobno API navaja vrsto operacij, ki jih lahko uporabljajo razvijalci, skupaj z opisom njihovega delovanja. Razvijalcu ni nujno potrebno vedeti, kako na primer operacijski sistem gradi in predstavlja pogovorno okno »Shrani kot«. Samo morajo vedeti, da je na voljo za uporabo v njihovi aplikaciji.

    To ni popolna metafora, saj bodo razvijalci morda morali posredovati svoje podatke API-ju, da bi dobili rezultate, zato je morda bolj všeč restavracija, kjer lahko ponudite nekaj svojih sestavin, s katerimi bo kuhinja delala..

    Ampak to je na splošno natančno. API-ji razvijalcem omogočajo, da prihranijo čas z izkoriščanjem izvajanja platforme, da opravijo delo z gnili. To pomaga zmanjšati količino razvijalcev kode, ki jih potrebujejo za ustvarjanje, in pomaga ustvariti večjo skladnost med aplikacijami za isto platformo. API-ji lahko nadzorujejo dostop do virov strojne in programske opreme.

    API-ji za razvijalce olajšajo življenje

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

    Če želite vdelati spletni brskalnik za prikazovanje ene ali več spletnih strani, na primer, vam ni treba programirati svojega spletnega brskalnika od začetka samo za vašo aplikacijo. Aplikacijo WKWebView uporabite za vdelavo predmeta brskalnika WebKit (Safari) v vašo aplikacijo.

    Če želite posneti fotografije ali video iz fotoaparata iPhone, vam ni treba pisati lastnega vmesnika kamere. Z vgrajeno kamero iPhone v aplikaciji uporabite API fotoaparata. Če API-jev ni bilo, da bi bilo to preprosto, bi morali razvijalci aplikacij ustvariti lastno programsko opremo za fotoaparate in interpretirati vhode strojne opreme kamere. Razvijalci operacijskega sistema Apple so naredili vse to težko delo, zato lahko razvijalci preprosto uporabijo kamero API za vgradnjo fotoaparata in nato nadgradijo svojo aplikacijo. In ko Apple izboljša API fotoaparata, bodo vse aplikacije, ki se zanašajo nanjo, samodejno izkoristile to izboljšavo.

    To velja za vsako platformo. Ali želite na primer ustvariti pogovorno okno v sistemu Windows? Za to obstaja API. Želite podpreti preverjanje pristnosti prstnih odtisov v Androidu? Tudi za to obstaja API, tako da vam ni treba testirati senzorjev prstnih odtisov vsakega proizvajalca Android. Razvijalcem ni treba znova in znova odkrivati ​​kolesa.

    API-ji nadzorujejo dostop do virov

    API-ji se uporabljajo tudi za nadzor dostopa do strojnih naprav in funkcij programske opreme, ki jih aplikacija morda nima dovoljenja za uporabo. Zato API-ji pogosto igrajo pomembno vlogo pri varnosti.

    Če ste na primer kdaj obiskali spletno mesto in v brskalniku videli sporočilo, da spletno mesto zahteva, da vidite vašo natančno lokacijo, poskuša spletno mesto uporabiti API za geolokacijo v vašem spletnem brskalniku. Spletni brskalniki razkrivajo takšne API-je, da omogočijo spletnim razvijalcem, da dostopajo do vaše lokacije - lahko vprašajo samo »kje ste?« In brskalnik poišče težko dostop do GPS-a ali bližnjih omrežij Wi-Fi, da bi našel vašo fizično lokacijo.

    Vendar pa brskalniki te informacije razkrijejo tudi prek API-ja, ker je mogoče nadzorovati dostop do njega. Ko spletno mesto želi dostop do vaše natančne fizične lokacije, ga lahko dobite le prek API-ja lokacije. Ko jo spletno mesto poskuša uporabiti, lahko uporabnik dovolite ali zavrnete to zahtevo. Edini način za dostop do virov strojne opreme, kot je senzor GPS, je prek API-ja, tako da lahko brskalnik nadzoruje dostop do strojne opreme in omeji, 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. Na primer, če razvijalec poskuša dostopati do kamere prek API-ja kamere, lahko zavrnete zahtevo za dovoljenje in aplikacija ne more dostopati do fotoaparata naprave.

    Datotečni sistemi, ki uporabljajo dovoljenja - tako kot v operacijskih sistemih Windows, Mac in Linux - imajo dovoljenja, ki jih uveljavlja 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 za vse druge razloge. Če ste na primer na spletnem mestu kdaj koli videli predmet Google Zemljevidov, ta spletno mesto uporablja API za Google Zemljevide za vdelavo tega zemljevida. Google izpostavlja API-je, podobne tem, spletnim razvijalcem, ki lahko nato uporabijo API-je, da zdrobijo objekte na svojem spletnem mestu. Če takšni API-ji niso obstajali, bodo razvijalci morda morali ustvariti lastne zemljevide in zagotoviti lastne zemljevidne podatke, da bodo na spletno mesto postavili malo interaktivnega zemljevida.

    In ker je to API, lahko Google nadzoruje dostop do Google Zemljevidov na spletnih mestih tretjih oseb, s čimer zagotavlja, da ga uporabljajo na dosleden način, namesto da poskušajo vdelati okvir, ki prikazuje spletno mesto Google Zemljevidov, na primer.

    To velja za številne različne spletne storitve. Obstajajo API-ji za zahtevanje prevajanja besedila iz Google Prevajalnika ali vdelavo Facebook komentarjev ali tweetov s spletnega mesta Twitter na spletnem mestu.

    Standard OAuth določa tudi številne API-je, ki vam omogočajo, da se prijavite na spletno mesto z drugo storitvijo - na primer za uporabo računov Facebook, Google ali Twitter za prijavo v novo spletno mesto brez ustvarjanja novega uporabniškega računa samo za to spletno mesto . API-ji so standardne pogodbe, ki določajo, kako razvijalci komunicirajo s storitvijo, in vrste rezultatov, ki naj bi jih razvijalci pričakovali, da bodo prejeli nazaj.


    Če ste to prebrali, boste bolje razumeli, kaj je API. Navsezadnje vam 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 te funkcije.

    Zasluge za sliko: patpitchaya / Shutterstock.com.