Mis on API?

Tõenäoliselt olete mõelnud „API” tulemas. Operatsioonisüsteemi, veebibrauseri ja rakenduste värskendused teatavad arendajatele sageli uutest API-dest. Aga mis on API?

Rakenduse programmeerimise liides

Termin API on lühend ja see tähistab rakenduse programmeerimisliidest.

Mõelge API-le nagu menüü restoranis. Menüüs on nimekiri roogadest, mida saate tellida, koos iga roa kirjeldusega. Kui määrate, milliseid menüüelemente soovite, teeb restorani köök tööd ja annab teile mõned valmistoidud. Te ei tea täpselt, kuidas restoran seda toitu valmistab, ja teil pole seda tegelikult vaja.

Samamoodi loetleb API hulk toiminguid, mida arendajad saavad kasutada, koos nende tegevuse kirjeldusega. Arendaja ei pea tingimata teadma, kuidas näiteks opsüsteem ehitab ja esitab dialoogiboksi „Salvesta kui”. Nad peavad lihtsalt teadma, et see on nende rakenduses saadaval.

See pole täiuslik metafoor, kuna tulemuste saamiseks võib arendajatel olla vaja API-le oma andmed esitada, seega võib-olla on see pigem nagu uhke restoran, kus saate pakkuda mõnda enda koostisosa, millega köök töötab.

Kuid see on üldiselt täpne. API-d võimaldavad arendajatel säästa aega, kasutades ära platvormi rakendust, et teha nõtkelt tööd. See aitab vähendada koodiarendajate vajadust luua, samuti aitab see luua suurema järjepidevuse sama platvormi rakenduste vahel. API-d võimaldavad juurdepääsu riist- ja tarkvararessurssidele.

API-d muudavad arendajate elu lihtsamaks

Oletame, et soovite iPhone'i jaoks rakenduse välja töötada. Apple'i iOS-i operatsioonisüsteem pakub suure hulga API-sid - nagu iga teine ​​operatsioonisüsteem -, et seda teie jaoks lihtsamaks teha.

Kui soovite veebibrauseri kinnitada näiteks ühe või mitme veebilehe kuvamiseks, ei pea te oma veebibrauserit programmeerima nullist ainult oma rakenduse jaoks. WebKiti (Safari) brauseriobjekti manustamiseks oma rakendusse kasutate WKWebView API-d.

Kui soovite iPhone'i kaamerast fotosid või videot jäädvustada, ei pea te oma kaamera liidest kirjutama. Kasutate iPhone'i sisseehitatud kaamera rakendusse manustamiseks kaamera API-d. Kui selle hõlbustamiseks ei oleks olemas API-sid, peaksid rakenduste arendajad looma oma kaamera tarkvara ja tõlgendama kaamera riistvara sisendeid. Kuid Apple'i operatsioonisüsteemi arendajad on teinud kogu selle raske töö, nii et arendajad saavad kaamera kinnistamiseks kasutada lihtsalt kaamera API-d ja seejärel oma rakenduse ülesehitamisega jätkata. Ja kui Apple täiustab kaamera API-d, kasutavad kõik sellele tuginevad rakendused seda täiustust automaatselt ära.

See kehtib kõigi platvormide kohta. Kas soovite näiteks Windowsi dialoogiboksi luua? Selleks on olemas API. Kas soovite Androidis sõrmejälgede autentimist toetada? Selleks on olemas ka API, nii et te ei pea testima iga erineva Androidi tootja sõrmejäljesensorit. Arendajad ei pea ratast uuesti ja uuesti leiutama.

API-d kontrollivad juurdepääsu ressurssidele

API-sid kasutatakse ka juurdepääsu kontrollimiseks riistvaraseadmetele ja tarkvarafunktsioonidele, mille kasutamiseks pole rakendusel tingimata luba. Seetõttu mängivad API-d turvalisuses sageli suurt rolli.

SEOTUD:Kuidas peatada veebisaitide teie asukoha küsimine

Näiteks kui olete kunagi mõnda veebisaiti külastanud ja näinud oma brauseris teadet, et veebisait palub näha teie täpset asukohta, üritab see veebisait teie veebibrauseris kasutada geolokatsiooni API-d. Veebibrauserid paljastavad selliseid API-sid, et veebiarendajatel oleks hõlpsam teie asukohale juurde pääseda - nad saavad lihtsalt küsida "kus sa oled?" ja brauser teeb teie füüsilise asukoha leidmiseks rasket tööd, et pääseda juurde GPS-ile või läheduses asuvatele WiFi-võrkudele.

Kuid brauserid paljastavad selle teabe ka API kaudu, kuna sellele on võimalik juurdepääsu kontrollida. Kui veebisait soovib juurdepääsu teie täpsele füüsilisele asukohale, on ainus viis seda saada asukoha API kaudu. Ja kui veebisait üritab seda kasutada, saate teie - kasutaja - selle taotluse lubada või tagasi lükata. Ainus viis riistvararessurssidele, nagu GPS-andur, on API kaudu, nii et brauser saab kontrollida riistvarale juurdepääsu ja piirata rakenduste võimalusi.

Sama põhimõtet kasutatakse tänapäevastes mobiilsetes operatsioonisüsteemides nagu iOS ja Android, kus mobiilirakendustel on õigused, mida saab rakendada API-de juurdepääsu kontrollimisega. Näiteks kui arendaja üritab kaamerale juurde pääseda kaamera API kaudu, saate loataotluse tagasi lükata ja rakendusel pole teie seadme kaamerale juurdepääsu.

Failisüsteemidel, mis kasutavad õigusi - nagu ka Windowsis, Macis ja Linuxis - on need õigused rakendatud failisüsteemi API kaudu. Tavalisel rakendusel puudub otsene juurdepääs toorele füüsilisele kõvakettale. Selle asemel peab rakendus failidele juurde pääsema API kaudu.

Teenusevahelise suhtluse jaoks kasutatakse API-sid

API-sid kasutatakse ka igasugustel muudel põhjustel. Näiteks kui olete kunagi näinud veebisaidile manustatud Google Mapsi objekti, kasutab see veebisait selle kaardi manustamiseks Google Mapsi API-d. Google tutvustab selliseid API-sid veebiarendajatele, kes saavad seejärel kasutada API-sid keeruliste objektide sirvimiseks otse oma veebisaidil. Kui selliseid API-sid pole olemas, peavad arendajad võib-olla selleks, et veebisaidile väikese interaktiivse kaardi lisamiseks luua oma kaardid ja esitada oma kaardiandmed.

Kuna tegemist on API-ga, saab Google kontrollida juurdepääsu kolmandate osapoolte veebisaitidele Google Mapsile, tagades, et nad kasutavad seda järjepidevalt, selle asemel, et proovida näiteks Google Mapsi veebisaiti näitavat raami valesti sisse kinnitada.

See kehtib paljude erinevate veebiteenuste kohta. Google Translate'i tekstitõlke taotlemiseks või Facebooki Facebooki kommentaaride või Twitteri tweetide lisamiseks veebisaidile on olemas API-d.

SEOTUD:Mis on OAuth? Kuidas need Facebooki, Twitteri ja Google'i sisselogimisnupud töötavad

OAuthi standard määratleb ka hulga API-sid, mis võimaldavad teil mõne muu teenusega veebisaidile sisse logida - näiteks kasutada oma Facebooki, Google'i või Twitteri kontosid uuele veebisaidile sisselogimiseks, ilma et oleks loodud ainult selle saidi jaoks uut kasutajakontot. . API-d on standardsed lepingud, mis määratlevad, kuidas arendajad teenusega suhtlevad, ja sellise väljundi, mida arendajad peaksid tagasi saama.

Kui olete sellest läbi saanud, saate paremini teada, mis on API. Lõppkokkuvõttes ei pea te tegelikult teadma, mis on API, välja arvatud juhul, kui olete arendaja. Kuid kui näete, et tarkvaraplatvorm või -teenus on lisanud erinevatele riistvaradele või teenustele uusi API-sid, peaks arendajatel olema lihtsam selliseid funktsioone ära kasutada.

Pildikrediit: patpitchaya / Shutterstock.com.