Kas yra API?

Tikriausiai matėte, kad atsirado terminas „API“. Operacinės sistemos, žiniatinklio naršyklės ir programų atnaujinimai dažnai skelbia naujus kūrėjų API. Bet kas yra API?

Taikomųjų programų programavimo sąsaja

Sąvoka API yra akronimas ir reiškia „Programavimo programavimo sąsaja“.

Pagalvokite apie API, pavyzdžiui, meniu restorane. Meniu pateikiamas patiekalų, kuriuos galite užsisakyti, sąrašas ir kiekvieno patiekalo aprašymas. Kai nurodote, kurių meniu elementų norite, restorano virtuvė atlieka darbą ir pateikia jums keletą paruoštų patiekalų. Jūs tiksliai nežinote, kaip restoranas gamina tą maistą, ir jums to tikrai nereikia.

Panašiai API pateikia daugybę operacijų, kurias gali naudoti kūrėjai, kartu su aprašymu, ką jie daro. Kūrėjas nebūtinai turi žinoti, kaip, pavyzdžiui, operacinė sistema kuria ir pateikia dialogo langą „Išsaugoti kaip“. Jie tiesiog turi žinoti, kad tai galima naudoti jų programoje.

Tai nėra tobula metafora, nes norint gauti rezultatus kūrėjams gali tekti pateikti savo duomenis API, todėl galbūt tai labiau panašu į prašmatnų restoraną, kur galite pateikti keletą savo ingredientų, su kuriais virtuvė dirbs.

Bet tai iš esmės tikslu. API leidžia kūrėjams sutaupyti laiko, pasinaudojant platformos diegimo pranašumais, kad atliktų nesudėtingą darbą. Tai padeda sumažinti kodų, kuriuos reikia sukurti kūrėjams, kiekį, taip pat padeda užtikrinti didesnį nuoseklumą visose tos pačios platformos programose. API gali kontroliuoti prieigą prie aparatinės ir programinės įrangos išteklių.

API palengvina kūrėjų gyvenimą

Tarkime, kad norite sukurti „iPhone“ skirtą programą. „Apple“ „iOS“ operacinėje sistemoje yra daugybė API, kaip ir kiekvienoje kitoje operacinėje sistemoje, kad tai būtų lengviau.

Pavyzdžiui, jei norite įterpti žiniatinklio naršyklę rodyti vieną ar daugiau tinklalapių, neturite programuoti savo žiniatinklio naršyklės nuo nulio tik savo programai. Norėdami įterpti „WebKit“ („Safari“) naršyklės objektą į savo programą, naudojate WKWebView API.

Jei norite užfiksuoti nuotraukas ar vaizdo įrašus iš „iPhone“ fotoaparato, neprivalote rašyti savo fotoaparato sąsajos. Norėdami įterpti „iPhone“ įmontuotą kamerą į savo programą, naudojate kameros API. Jei nebūtų API, kad tai būtų lengva, programų kūrėjai turėtų sukurti savo fotoaparato programinę įrangą ir interpretuoti kameros aparatinės įrangos įvestis. Tačiau „Apple“ operacinės sistemos kūrėjai atliko visą šį sunkų darbą, todėl kūrėjai gali tiesiog naudoti kameros API kamerai įdėti ir tada kurti savo programą. Kai „Apple“ patobulins kameros API, visos ja besiremiančios programos automatiškai pasinaudos tuo patobulinimu.

Tai taikoma kiekvienai platformai. Pavyzdžiui, ar norite sukurti dialogo langą sistemoje „Windows“? Tam yra API. Norite palaikyti „Android“ pirštų atspaudų autentifikavimą? Tam taip pat yra API, todėl nereikia išbandyti kiekvieno skirtingo „Android“ gamintojo pirštų atspaudų jutiklio. Kūrėjams nereikia iš naujo išradinėti dviračio.

API kontroliuoja prieigą prie išteklių

API taip pat naudojamos valdyti prieigą prie aparatūros įrenginių ir programinės įrangos funkcijų, kurias naudoti programa nebūtinai gali turėti. Štai kodėl API dažnai atlieka svarbų vaidmenį saugant.

SUSIJEDS: Kaip sustabdyti svetaines nuo jūsų vietos prašymo

Pvz., Jei kada nors lankėtės svetainėje ir savo naršyklėje matėte pranešimą, kad svetainė prašo pamatyti tikslią jūsų buvimo vietą, ta svetainė bando naudoti geografinės vietos API jūsų žiniatinklio naršyklėje. Žiniatinklio naršyklės pateikia tokias API, kad žiniatinklio kūrėjams būtų lengviau pasiekti jūsų vietą - jie gali tiesiog paklausti „kur tu?“ o naršyklė atlieka sunkų darbą, norėdama rasti GPS ar netoliese esančius „Wi-Fi“ tinklus, kad rastų jūsų fizinę vietą.

Tačiau naršyklės taip pat atskleidžia šią informaciją per API, nes įmanoma kontroliuoti prieigą prie jos. Kai svetainė nori pasiekti tikslią jūsų fizinę vietą, vienintelis būdas ją gauti yra per vietovės API. Kai svetainė bando ja naudotis, jūs - vartotojas - galite pasirinkti leisti arba atmesti šią užklausą. Vienintelis būdas pasiekti aparatūros išteklius, tokius kaip GPS jutiklis, yra API, todėl naršyklė gali kontroliuoti prieigą prie aparatūros ir apriboti programų galimybes.

Tas pats principas naudojamas ir šiuolaikinėse mobiliose operacinėse sistemose, tokiose kaip „iOS“ ir „Android“, kur mobiliosios programos turi leidimus, kuriuos galima įgyvendinti kontroliuojant prieigą prie API. Pvz., Jei kūrėjas bando pasiekti kamerą per kameros API, galite atmesti leidimo užklausą, o programa neturi galimybės pasiekti jūsų įrenginio kameros.

Failų sistemoms, naudojančioms leidimus, kaip ir „Windows“, „Mac“ ir „Linux“, tuos leidimus užtikrina failų sistemos API. Tipiška programa neturi tiesioginės prieigos prie neapdoroto fizinio standžiojo disko. Vietoj to, programa turi pasiekti failus per API.

API naudojamos komunikacijai tarp paslaugų

API taip pat naudojamos dėl visų kitų priežasčių. Pvz., Jei kada nors matėte „Google Maps“ objektą, įdėtą į svetainę, ta svetainė naudoja „Google Maps“ API, kad įdėtų tą žemėlapį. „Google“ pateikia tokias API žiniatinklio kūrėjams, kurie tada gali naudoti sudėtingus objektus savo svetainėje. Jei tokių API nėra, kūrėjams gali tekti susikurti savo žemėlapius ir pateikti savo žemėlapių duomenis, kad tik svetainėje būtų įdėtas nedidelis interaktyvus žemėlapis.

Kadangi tai yra API, „Google“ gali kontroliuoti prieigą prie „Google“ žemėlapių trečiųjų šalių svetainėse užtikrindama, kad jie ją naudoja nuosekliai, o ne bandydami netvarkingai įterpti rėmą, kuriame, pavyzdžiui, rodoma „Google Maps“ svetainė.

Tai taikoma daugeliui skirtingų internetinių paslaugų. Yra API, kad būtų galima pateikti teksto vertimo užklausą iš „Google“ vertėjo arba įterpti „Facebook“ komentarus ar „Twitter“ žinutes svetainėje.

SUSIJEDS: Kas yra OAuth? Kaip veikia tie „Facebook“, „Twitter“ ir „Google“ prisijungimo mygtukai

„OAuth“ standartas taip pat apibrėžia daugybę API, leidžiančių prisijungti prie svetainės naudojant kitą paslaugą, pavyzdžiui, naudoti „Facebook“, „Google“ ar „Twitter“ paskyras prisijungiant prie naujos svetainės, nesukuriant naujos vartotojo paskyros tik tai svetainei . API yra standartinės sutartys, apibrėžiančios, kaip kūrėjai bendrauja su paslauga, ir kokią produkciją jie turėtų tikėtis gauti.

Jei tai išgyvenote, geriau įsivaizduosite, kas yra API. Galų gale jums tikrai nereikia žinoti, kas yra API, nebent esate kūrėjas. Bet, jei matote, kad programinės įrangos platforma ar paslauga pridėjo naujų API įvairiai aparatinei įrangai ar paslaugoms, kūrėjams turėtų būti lengviau pasinaudoti tokiomis funkcijomis.

Vaizdo kreditas: patpitchaya / Shutterstock.com.