Kuinka selitän sovellusliittymän ja SDK: n eron ihmisille, jotka eivät tiedä heistä mitään?


Vastaus 1:

Molemmat on suunnattu kehittäjille, mutta erilaisille viimeistelytasoille. Ero liittyy siihen, missä istut kehittäjänä suhteessa loppukäyttäjään ja siihen, luotko jotain tyhjästä vai kulutatko olemassa olevia toimintoja ja pakkaat sen loppukäyttäjälle. Luomisen ja kuluttamisen välillä voi olla harmaa alue, koska ne voivat tapahtua niin lähellä toisistaan ​​- erottelu voi joissain tapauksissa muuttua hiushalkeamiseksi.

SDK on kuin laatikko Legosa - sinun on tehtävä kokoonpano, mutta kappaleet ja asiakirjat on asetettu sinulle. Tällä tavoin luot pääasiassa, koska SDK on pääosin vain raaka-aineita ja dokumentaatiota.

Sovellusliittymä on "valmis luomus" tiettyyn tarkoitukseen, mutta ilman käyttöliittymää. Joten työskennellessäsi sovellusliittymän kanssa kulutat kyseistä sovellusliittymää luomalla jonkinlaista käyttöliittymää loppukäyttäjälle. Siten on luomisen ja kulutuksen sekoitus lähestyessäsi sovellusliittymiä.


Vastaus 2:

En ole varma, että kutsun SDK: ta kakkosekoitteeksi, enkä kutsu API: ta resepiksi. Kaksi muuta vastausta ovat teknisesti oikeita, mutta mielestäni tässä on osa yleisöä. Nämä eivät ole teknisiä ihmisiä, joten selvä selitys, joka vaikuttaa selkeältä selitykseltä, ei välttämättä ole sellainen.

Mielestäni analogia on hieno, mutta sen on todella osoitettava ero näiden kahden asian välillä, ja kuten sanoit, kakkosekoitus ja resepti eivät oikeastaan ​​tarjoa sitä. Esimerkkini käyttää kahta toisiinsa liittymätöntä asiaa pikemminkin kuin toisiinsa liittyviä asioita ja yksinkertaistaa asioita, mutta mielestäni se saattaa auttaa.

API-sovelluksen ylimääräinen yksinkertaistaminen on tarkastella erityisesti CRUD-sovellusliittymää. Sellaisena sitä voidaan pitää pankin kaltaisena. Voit avata tilin rahasi pitämiseksi (luoda), tarkistaa tilisi saldo (lukea), lisätä tai poistaa rahaa siitä (päivittää) ja sulkea sen (poistaa). Saatat sallia katsoa, ​​tallettaa rahaa ja ottaa rahaa muiden omistamilta tileiltä (todennus ja valtuutus).

SDK puolestaan ​​on kuin työkalusarja. Se tarjoaa asioita, joiden avulla voit rakentaa tai ylläpitää jotain. Löydät siitä vasaran, ruuvimeisselit, pihdit jne.


Vastaus 3:

Tämä muistuttaa minua keskusteluista kemistiystäväni kanssa, jota ärsytti keskustelut toisen ohjelmistoinsinööriystävän kanssa.

Meidän piti selittää hänelle asiat, joten valitsimme jotain, jossa hän on jo mestari.

Joten keskustelu meni näin:

CF (kemistiystävä): Kaverit, jotka ärsytätte minua API: lla ja SDK: lla, mitä ne ovat?

USA (minä ja SF (ohjelmistoystävä)): haha, okei ..

USA: Antakaa API: n pitää jotain myymälässäsi pitämääsi tavaraa. Kuten tabletteja, injektioita, siirappia, juomia ja muita asioita.

Ja SDK voi olla kokoelma kaikkia näitä yllä olevia kohteita, mikä on sinun myymäläsi.

Jos joku tarvitsee injektiota, se tarkoittaa, että hänen on käytettävä sovellusliittymää.

Jos joku tarvitsee paljon lääkkeitä, hän voi päästä käymään apteekkikaupassa.

CF: Ai, onko se? .Ainakaan en saanut paljon, mutta tämä auttoi.