HDG objašnjava: Što je API?

Na internetu prepunom zbunjujućih i nepoznatih akronima(confusing and unfamiliar acronyms) , lako se možete zbuniti. Jedna web akronim koju ste možda čuli, ali nikada niste osjetili inspiraciju da je pogledate je "API".

Što je API ? API je akronim za sučelje za programiranje aplikacija( application programming interface) i naziv je za skup rutina i protokola koji uvelike olakšavaju proces izrade softverskih aplikacija.

Jednostavan način gledanja na API je kao putokaz koji govori komponentama softverskog dijela kako da komuniciraju. Bez upotrebe API -ja , izvorni kod mogao bi izgledati kao zbrkani, zbunjujući nered.

Međutim, API-ji(APIs) su složeni i zahtijevaju više od kratkog sažetka. U ovom članku prođimo kroz način na koji API-ji(APIs) rade i koje web-lokacije i usluge ih koriste.

Što je API i kako radi?(What Is An API and How Does It Work?)

Sada kada smo ustanovili da je API skup rutina koji softver usmjeravaju u pravom smjeru, kako točno sve ovo funkcionira?

Najbolji način da se objasni temeljna funkcionalnost API -ja je pružanje primjera iz stvarnog svijeta. Usluge dostave hrane , kao što (Food)je GrubHub(GrubHub) , trenutno su nevjerojatno popularne, pa raspravimo kako bi kod koji stoji iza mobilnih aplikacija poput ovih mogao funkcionirati.

Kada tražite restoran ili hranu u jednoj od ovih aplikacija, dobivate relevantne rezultate na temelju vaših ključnih riječi i lokacije. Nakon odabira rezultata, prikazat će vam se opcije hrane, rokovi isporuke i više opcija specifičnih za restoran.

Da biste zakazali svoju isporuku, mora se uspostaviti veza između web-mjesta za isporuku i baze podataka – web-mjesto je prednji dio, a baza podataka pozadina. Baza podataka je ono što pohranjuje podatke za sve te restorane, njihovu dostupnost po lokaciji, raspored rada, jelovnike i još mnogo toga.

API je veza(API) između ove baze podataka i web stranice ili aplikacije koja predstavlja svoje podatke. Važno je da postoji API za stvaranje ove veze, a ne korištenje tvrdo kodiranih podataka, prvenstveno zbog popularnosti integracija trećih strana. 

Na primjer, bilo bi korisno za web stranicu kada bi agregatori trećih strana mogli navesti i organizirati sve restorane i artikle koje ima na raspolaganju, zar ne? Bez API -ja to ne bi bilo moguće bez korištenja neučinkovitih tehnika web-scrapinga.

API je sučelje(API) odgovorno za isporuku podataka iz baze podataka u aplikaciju, bilo da se radi o web stranici, mobilnoj aplikaciji ili bilo čemu drugom. API-ji(APIs) su postali standardni način pristupa i komuniciranja podataka aplikacija na cijelom webu, a svaka veća web stranica ili usluga koja ovisi o povezivanju treće strane ima velike koristi od pružanja jedne.

Koje vrste API-ja postoje?(What Types Of APIs Are There?)

Postoji više različitih tipova API protokola, ali tri najpopularnija su SOAP ( protokol jednostavnog pristupa objektu(Simple Object Access Protocol) ), REST ( prijenos reprezentativnog stanja(Representational State Transfer) ) i RPC ( poziv udaljene procedure(Remote Procedure Call) ).

SOAP API-ji(SOAP APIs)

SOAP je prvi put predstavljen kasnih 1990-ih i omogućio je aplikacijama da dijele resurse na jednostavan način korištenjem mrežnih veza. SOAP se oslanja na standardne protokole, kao što su HTTP i SMTP , koji mu omogućuju korištenje u gotovo svakom okruženju zbog popularnosti takvih protokola.

Njegova glavna snaga je u tome što se široko koristi i etablirao. Ako nije pokvaren, nemojte ga popravljati.

REST API-ji(REST APIs)

REST je 2000. godine predstavio Roy Fielding . Njegov neposredni cilj bio je djelovati kao odgovor na mnoga pitanja koja su nastala raširenim usvajanjem SOAP -a .

Slično SOAP -u , REST se oslanja na HTTP za prijenos informacija između aplikacija. Međutim, jedna velika razlika koja ga razlikuje od SOAP -a, koji zahtijeva prijenos podataka putem XML formata podataka, je ta što podržava JSON . JSON je format podataka za koji se mnogi slažu da je lakši za čitanje i pisanje. Dodatno, REST API-ji(REST APIs) mogu predmemorirati podatke, što omogućuje mnogo bolju izvedbu.

REST sada čini više od 80% svih API-ja(APIs) , prema izvješću Cloud Elements iz 2017. godine .

RPC API-ji(RPC APIs)

RPC API-ji(RPC APIs) dolaze u mnogim okusima, ali kao što smo naučili iz REST API-ja(REST APIs) , JSON je vrlo popularan format podataka, pa je JSON-RPC njegov najpopularniji.

JSON-RPC je protokol najprikladniji za minimaliste i korisnike koji se oslanjaju na jednostavnost svog API -ja . Puno je užeg opsega u usporedbi sa SOAP -om i REST-om(REST) , i vrlo je ograničen u svojoj fleksibilnosti i skupu naredbi — ali za neke programere manje je više.

Postoje i druge vrste API -ja temeljene na RPC-u , kao što je gRPC, ali JSON-RPC je najbolji ako vam je prioritet jednostavnost implementacije.

Tko koristi API-je?(Who Uses APIs?)

Programeri bilo koje vrste, bilo frontend ili backend, trebali bi imati iskustva u radu s API-jima(APIs) . Što se tiče web stranica ili web usluga, praktički svi glavni igrači imaju neku vrstu dostupnog API -ja - najočitiji je Windows .

Budući da je Microsoft Windows najpopularniji operativni sustav na planeti, sasvim je prirodno da će razvojni programeri aplikacija trebati skup smjernica za interakciju s njegovim korisničkim sučeljem. Bez pristupa Windows API -ju , programiranje aplikacije koja se uvelike oslanja na interakciju s operativnim sustavom bila bi velika glavobolja.

Postoje tisuće API-ja(APIs) , neki besplatni, a neki plaćeni. Evo samo nekoliko primjera koje vrijedi pogledati:

  • Google Play Developer API : zadaci objavljivanja i upravljanja aplikacijama povezani s Google Playom(Google Play)
  • API-ji za Skyscanner(Skyscanner APIs)(Skyscanner APIs) : API- (:)ji(APIs) temeljeni na putovanjimakoji se odnose na letove, najam automobila i još mnogo toga
  • Twilio API : Omogućuje(Allows) programsko slanje i primanje telefonskih poziva
  • Discord API : Omogućuje korisnicima stvaranje botova koji Discord čine uslugom za razmjenu poruka kakva je danas
  • IPinfo API : IP(On-the-fly IP) adresa i geolokacijski podaci u hodu za vašu web stranicu ili aplikaciju

API-ji(APIs) su jedan od ključnih konektora iza nekih od najvećih i najvažnijih web stranica i aplikacija. Iako prosječni korisnik možda neće moći vidjeti prednosti koje pružaju API-ji(APIs) , oni su božji dar za programere i web usluge.



About the author

Pozdrav potencijalnim poslodavcima! Vrlo sam iskusan softverski inženjer s više od 7 godina iskustva u tom području. Znam kako dizajnirati i razvijati aplikacije za Windows 7 i na svom profilu imam širok raspon preporuka za Cool web stranice. Moje vještine i iskustvo nude mi odličan izbor za svaku tvrtku koja traži talentiranog pojedinca s dobrim vještinama upravljanja projektima, znanjem programiranja i iskustvom u razvoju web stranica.



Related posts