If-Koubou

Mikä on API?

Mikä on API? (Miten)

Olet todennäköisesti nähnyt termiä "API". Käyttöjärjestelmä, verkkoselain ja sovellusten päivitykset ilmoittavat usein kehittäjille tarkoitetut uudet sovellusliittymät. Mutta mikä on API?

Sovellusohjelmointirajapinta

Termi API on lyhenne, ja se tarkoittaa "Application Programming Interface".

Ajattele sovellusliittymää, kuten ravintolan valikkoa. Valikossa on luettelo ruokia, joita voit tilata, sekä kunkin ruokalajin kuvaus. Kun määrität haluamasi valikkokohdat, ravintolan keittiö tekee töitä ja antaa sinulle valmiita ruokia. Et tiedä tarkkaan, miten ravintola valmistaa kyseisen ruoan, etkä todellakaan tarvitse sitä.

Samoin API esittelee joukon toimintoja, joita kehittäjät voivat käyttää ja kuvaus siitä, mitä he tekevät. Kehittäjän ei välttämättä tarvitse tietää, miten esimerkiksi käyttöjärjestelmä rakennetaan ja esittelee "Tallenna nimellä" -valintaikkunan. Heidän on vain tiedettävä, että se on käytettävissä heidän sovelluksessaan.

Tämä ei ole täydellinen metafora, koska kehittäjät saattavat joutua antamaan omat tietonsa sovellusliittymälle saadakseen tuloksia, joten se on ehkä enemmän kuin fancy-ravintola, jossa voit tarjota joitain omia ainesosia, joita keittiö työskentelee.

Mutta se on melko tarkka. Sovellusliittymät antavat kehittäjille mahdollisuuden säästää aikaa hyödyntämällä alustan käyttöönottoa tekemällä nitty-gritty -työ. Tämä auttaa vähentämään koodinkehittäjien määrää ja myös auttaa luomaan entistä yhtenäisempää sovelluksia samalle alustalle. Sovellusliittymät voivat hallita laitteisto- ja ohjelmistoresurssien käyttöä.

APIs tekevät elämästä helpompaa kehittäjille

Sanotaan, että haluat kehittää iPhonen sovelluksen. Applen iOS-käyttöjärjestelmä tarjoaa suuren määrän sovellusliittymiä - kuten kaikilla muillakin käyttöjärjestelmilläkin - sen helpottamiseksi.

Jos haluat esimerkiksi upottaa verkkoselaimen yhden tai useamman verkkosivun näyttämiseen, sinun ei tarvitse ohjelmoida omaa verkkoselainta tyhjästä vain sovelluksestasi. Käytät WKWebView-sovellusliittymää WebKitin (Safari) selaintobjektin upottamiseen sovelluksessasi.

Jos haluat kaapata valokuvia tai videota iPhonen kamerasta, sinun ei tarvitse kirjoittaa omaa kameraliitäntääsi. Käytät kameran sovellusliittymää upotettavan iPhonen sisäänrakennetun kameran sovellukseen. Jos sovelluksia ei ole olemassa, jotta tämä olisi helppoa, sovelluskehittäjien olisi luotava oma kamerajärjestelmä ja tultava kameran laitteiston tulot. Mutta Applen käyttöjärjestelmän kehittäjät ovat tehneet kaiken tämän kovan työn, jotta kehittäjät voivat vain käyttää kamera-sovellusliittymää kameran upottamiseen ja jatkaa sitten niiden rakentamista. Ja kun Apple parantaa kamera-sovellusliittymää, kaikki siihen perustuvat sovellukset hyödyntävät parannusta automaattisesti.

Tämä koskee kaikkia alustoja. Haluatko esimerkiksi luoda valintaikkunan Windowsissa? Siinä on sovellusliittymä. Haluatko tukea sormenjälkitunnistusta Androidissa? Siitä on myös sovellusliittymä, joten sinun ei tarvitse testata jokaista Android-valmistajan sormenjälkitunnistinta. Kehittäjien ei tarvitse uudistaa pyörää uudestaan ​​ja uudestaan.

Sovellusrajapinnat ohjaavat resurssien käyttöä

Sovellusliittymiä käytetään myös hallitsemaan laitteiden ja ohjelmiston toimintoja, joita sovellus ei välttämättä voi käyttää. Siksi sovellusrajapinnoilla on usein suuri rooli turvallisuudessa.

Jos esimerkiksi olet käynyt verkkosivustossa ja näki selaimesi selaimen, että verkkosivusto pyytää tarkkaa sijaintiasi, kyseinen sivusto yrittää käyttää geolocation-sovellusliittymää selaimessa. Web-selaimet paljastavat tämän kaltaiset sovellusliittymät, jotta web-kehittäjät voivat helposti käyttää sijaintiaan - he voivat vain kysyä "missä olet?" Ja selain tekee kovalla työllä GPS: n tai lähistöllä olevien Wi-Fi-verkkojen etsimistä fyysisen sijainnin löytämiseksi.

Selaimet myös altistavat nämä tiedot API: n kautta, koska sitä on mahdollista hallita. Kun verkkosivusto haluaa käyttää tarkkaa fyysistä sijaintiasi, ainoa tapa, jolla he voivat saada sen, on paikannusliittymän kautta. Ja kun sivusto yrittää käyttää sitä, käyttäjä-käyttäjä voi päättää sallia tai kieltää tämän pyynnön. Ainoa tapa käyttää laitteistoresursseja, kuten GPS-anturi, on sovellusliittymän kautta, joten selain voi hallita laitteiden käyttöoikeuksia ja rajoittaa sovellusten käyttämistä.

Tätä samaa periaatetta käytetään nykyaikaisissa mobiilikäyttöjärjestelmissä, kuten iOS: ssä ja Androidissa, joissa mobiilisovelluksissa on käyttöoikeuksia, joita voidaan valvoa valvomalla käyttöliittymiä. Jos kehittäjä yrittää käyttää kameraa esimerkiksi kameran sovellusliittymän kautta, voit kieltää lupapyynnön ja sovellus ei voi käyttää laitteen kameraa.

Tiedostojärjestelmät, jotka käyttävät käyttöoikeuksia - kuten niillä on Windows, Mac ja Linux - käyttävät näitä tiedostojen käyttöliittymän API-käyttöoikeuksia. Tyypillisellä sovelluksella ei ole suoraa pääsyä raaka-ainekseen. Sen sijaan sovelluksen on käytettävä tiedostoja API-sovelluksen kautta.

Sovellusliittymiä käytetään palvelujen väliseen viestintään

Sovellusliittymiä käytetään myös kaikenlaisista muista syistä. Jos esimerkiksi olet koskaan nähnyt verkkosivustoon upotetun Google Maps -objektin, kyseinen sivusto käyttää Google Maps -sovellusliittymää kyseisen kartan upottamiseen. Google esittelee tämän kaltaiset sovellusliittymät web-kehittäjille, jotka voivat käyttää sovellusliittymiä monimutkaisten esineiden kopioimiseen suoraan verkkosivuillaan. Jos tällaisia ​​sovellusliittymiä ei ole, kehittäjät saattavat joutua luomaan omat karttansa ja antamaan omat karttatiedot vain pienen interaktiivisen kartan luomiseksi verkkosivustoon.

Ja koska se on API, Google voi valvoa Google Mapsin käyttöä kolmansien osapuolten verkkosivustoilla varmistaen, että ne käyttävät sitä johdonmukaisella tavalla, eivätkä yritä esimerkiksi upottaa kehystä, joka näyttää esimerkiksi Google Maps -sivustosta.

Tämä koskee monia eri verkkopalveluita. Sovellusliittymiä pyydetään tekstinkäännöstä Google-kääntäjältä tai upotetaan Facebook-kommentteja tai tweetejä Twitterissä verkkosivustolta.

OAuth-standardissa määritellään myös useita sovellusliittymiä, joiden avulla voit kirjautua verkkosivustoon toisen palvelun avulla. Voit esimerkiksi käyttää Facebook-, Google- tai Twitter-tilejäsi kirjautumalla uuteen verkkosivustoon luomatta uuden käyttäjätilin juuri kyseiselle sivustolle . Sovellusliittymät ovat vakiosopimuksia, jotka määrittävät, miten kehittäjät kommunikoivat palvelun kanssa, ja millaisen tuotoksen kehittäjät odottavat saavansa takaisin.

Jos olet saanut tämän, sinulla on parempi käsitys siitä, mikä sovellusliittymä on. Lopulta sinun ei tarvitse tietää, mikä API on, ellet ole kehittäjä. Mutta jos näet, että ohjelmistoalusta tai palvelu on lisännyt uusia sovellusliittymiä eri laitteisiin tai palveluihin, kehittäjien olisi helpompi hyödyntää tällaisia ​​ominaisuuksia.

Image Credit: patpitchaya / Shutterstock.com.