HDG selittää: Mikä on API?

Internetissä, joka on täynnä hämmentäviä ja tuntemattomia lyhenteitä(confusing and unfamiliar acronyms) , voi olla helppo hämmentyä. Yksi verkkolyhenne, jonka olet ehkä kuullut, mutta et ole tuntenut inspiraatiota tutkia, on "API".

Mikä on API ? API on lyhenne sanoista sovellusohjelmointirajapinta( application programming interface) , ja se on nimi joukolle rutiineja ja protokollia, jotka helpottavat ohjelmistosovellusten rakentamista huomattavasti.

Yksinkertainen tapa tarkastella API :ta on etenemissuunnitelma, joka kertoo ohjelmiston osien vuorovaikutuksesta. Ilman API :n käyttöä lähdekoodi voi näyttää sekavalta, hämmentävältä sotkulta.

Sovellusliittymät(APIs) ovat kuitenkin monimutkaisia ​​ja vaativat muutakin kuin lyhyen yhteenvedon. Tässä artikkelissa käydään läpi kuinka API(APIs) :t toimivat ja mitkä sivustot ja palvelut niitä käyttävät.

Mikä on API ja miten se toimii?(What Is An API and How Does It Work?)

Nyt kun olemme todenneet, että API on joukko rutiineja, jotka osoittavat ohjelmiston oikeaan suuntaan, kuinka tämä kaikki toimii?

Paras tapa selittää API(API) :n ydintoimintoja on tarjota todellinen esimerkki. Ruoan(Food) toimituspalvelut, kuten GrubHub , ovat tällä hetkellä uskomattoman suosittuja, joten keskustellaan siitä, kuinka tällaisten mobiilisovellusten takana oleva koodi voisi toimia.

Kun etsit ravintolaa tai ruokaa jollakin näistä sovelluksista, saat osuvia tuloksia avainsanojesi ja sijaintiisi perustuen. Kun valitset tuloksen, sinulle esitetään ruokavaihtoehtoja, toimitusaikaa ja muita ravintolakohtaisia ​​vaihtoehtoja.

Toimituksen ajoittaminen edellyttää, että toimitussivuston ja tietokannan välillä on yhteys – verkkosivusto on käyttöliittymä ja tietokanta taustaohjelma. Tietokanta tallentaa tiedot kaikista näistä ravintoloista, niiden saatavuudesta sijaintikohtaisesti, toiminta-aikataulun, ruokalistan ja paljon muuta.

API on yhteys tämän tietokannan ja sen tietoja esittävän verkkosivuston tai sovelluksen välillä . On tärkeää, että sovellusliittymä(API) on käytettävissä tämän yhteyden luomiseksi sen sijaan, että käytettäisiin kovakoodattua dataa, ensisijaisesti kolmansien osapuolien integraatioiden suosion vuoksi. 

Esimerkiksi verkkosivustolle olisi hyödyllistä, jos kolmannen osapuolen kokoajat pystyisivät luetteloimaan ja järjestämään kaikki sen saatavilla olevat ravintolat ja tuotteet, eikö niin? Ilman API :ta tämä ei olisi mahdollista ilman tehottomia verkkokaappaustekniikoita.

API on käyttöliittymä , joka vastaa tietojen toimittamisesta tietokannasta sovellukseen, olipa kyseessä sitten verkkosivusto, mobiilisovellus tai mikä tahansa muu. API(APIs) -liittymistä on tullut tavallinen tapa käyttää ja viestiä sovellustietoja verkossa, ja jokainen merkittävä verkkosivusto tai palvelu, joka riippuu kolmannen osapuolen yhteyksistä, hyötyy suuresti sellaisen tarjoamisesta.

Millaisia ​​API-tyyppejä on olemassa?(What Types Of APIs Are There?)

API -protokollia on useita erilaisia , mutta kolme suosituinta ovat SOAP ( Simple Object Access Protocol ), REST ( Representational State Transfer ) ja RPC ( Remote Procedure Call ).

SOAP API:t(SOAP APIs)

SOAP esiteltiin ensimmäisen kerran 1990-luvun lopulla ja mahdollisti sovellusten resurssien jakamisen yksinkertaisella tavalla verkkoyhteyksien avulla. SOAP perustuu standardiprotokolliin, kuten HTTP ja SMTP , jotka mahdollistavat sen käytön käytännössä kaikissa ympäristöissä tällaisten protokollien suosion vuoksi.

Sen tärkein vahvuus on, että se on laajalti käytetty ja vakiintunut. Jos se ei ole rikki, älä korjaa sitä.

REST API:t(REST APIs)

Roy Fielding esitteli RESTin vuonna 2000 . Sen välitön tavoite oli toimia vastauksena moniin SOAP :n laajan käyttöönoton aiheuttamiin ongelmiin .

SOAPin tapaan REST(SOAP) käyttää HTTP : (REST) tietojen siirtämiseen sovellusten välillä. Kuitenkin yksi suuri ero, joka erottaa sen SOAP :sta , joka edellyttää tietojen siirtämistä XML - tietomuodon kautta, on se, että se tukee JSON :ia . JSON on tietomuoto, jonka lukeminen ja kirjoittaminen on monien mielestä helpompaa. Lisäksi REST API(REST APIs) :t voivat tallentaa tietoja välimuistiin, mikä mahdollistaa paljon paremman suorituskyvyn.

Cloud Elementsin(Cloud Elements) vuoden 2017 raportin mukaan REST muodostaa nyt yli 80 % kaikista API(APIs) :ista .

RPC API:t(RPC APIs)

RPC-sovellusliittymiä(RPC APIs) on monia makuja, mutta kuten opimme REST-sovellusliittymistä(REST APIs) , JSON on erittäin suosittu tietomuoto, joten JSON-RPC on sen suosituin.

JSON-RPC on protokolla, joka sopii parhaiten minimalisteille ja käyttäjille, jotka luottavat API :nsa yksinkertaisuuteen . Sen soveltamisala on paljon kapeampi verrattuna SOAPiin(SOAP) ja RESTiin(REST) , ja sen joustavuus ja komentosarja ovat hyvin rajalliset, mutta joillekin kehittäjille vähemmän on enemmän.

On olemassa muita RPC-pohjaisia ​​API - tyyppejä, kuten gRPC, mutta JSON-RPC on paras vaihtoehto, jos prioriteettisi on toteutuksen yksinkertaisuus.

Kuka käyttää sovellusliittymiä?(Who Uses APIs?)

Kaikenlaisilla kehittäjillä, olipa kyseessä käyttöliittymä tai taustajärjestelmä, tulee olla kokemusta sovellusliittymien(APIs) kanssa työskentelystä . Mitä tulee verkkosivustoihin tai verkkopalveluihin, käytännössä kaikilla suurimmilla toimijoilla on käytettävissä jonkinlainen API – ilmeisin on Windows .

Koska Microsoft Windows on planeetan suosituin käyttöjärjestelmä, on vain luonnollista, että sovelluskehittäjät tarvitsevat joukon ohjeita vuorovaikutukseen sen käyttöliittymän kanssa. Ilman Windows-sovellusliittymän(Windows API) käyttöä sovelluksen ohjelmointi, joka perustuu vahvasti vuorovaikutukseen käyttöjärjestelmän kanssa, olisi suuri päänsärky.

Siellä on tuhansia sovellusliittymiä(APIs) , joista osa on ilmaisia ​​ja osa maksullisia. Tässä on vain muutama tarkastelun arvoinen esimerkki:

  • Google Play Developer API : Google Playhin(Google Play) liittyvät julkaisu- ja sovellusten hallintatehtävät
  • Skyscannerin sovellusliittymät(Skyscanner APIs)(Skyscanner APIs) : Matkustukseen perustuvat sovellusliittymät(APIs) , jotka liittyvät lentoihin, autonvuokraukseen ja muuhun
  • Twilio API : Mahdollistaa(Allows) puheluiden ohjelmallisen lähettämisen ja vastaanottamisen
  • Discord API : Antaa käyttäjien luoda botteja, jotka tekevät Discordista(Discord) sen nykyisen viestipalvelun
  • IPinfo API : Internet- sivustosi tai sovelluksesi IP-osoite ja maantieteelliset sijaintitiedot lennossa(On-the-fly IP)

API(APIs) :t ovat yksi tärkeimmistä liittimistä joidenkin verkon suurimpien ja tärkeimpien verkkosivustojen ja sovellusten takana. Vaikka keskimääräinen käyttäjä ei ehkä näe sovellusliittymien(APIs) tarjoamia etuja, ne ovat Jumalan lahja kehittäjille ja verkkopalveluille.



About the author

Olen laitteisto- ja ohjelmistokehityksen asiantuntija. Minulla on kokemusta työskentelystä sekä Applen tuotteiden (ios) että Googlen Android-alustojen kanssa. Olen myös vahva Edge computing -tekniikan puolestapuhuja, joka on verkko- ja mobiiliteknologian uusin trendi. Taitoni näillä alueilla tekevät minusta ihanteellisen nopeiden, turvallisten ja tehokkaiden sovellusten kehittämiseen.



Related posts