Prgramovacie prostredie aplikácií
Termín API je skratka a znamená "rozhranie aplikačného programovania".
Rozmyslite si API ako menu v reštaurácii. V ponuke nájdete zoznam jedál, ktoré si môžete objednať, spolu s popisom jednotlivých jedál. Keď zadávate požadované položky menu, kuchyňa v reštaurácii vykonáva prácu a poskytuje vám hotové jedlá. Neviete presne, ako reštaurácia pripravuje toto jedlo a naozaj to nepotrebujete.
Podobne API obsahuje zoznam operácií, ktoré vývojári môžu používať spolu s popisom toho, čo robia. Vývojár nemusí nutne vedieť, ako napríklad operačný systém vytvára a predstavuje dialógové okno "Uložiť ako". Musia len vedieť, že sú k dispozícii v aplikácii.
Toto nie je perfektná metafora, pretože vývojári môžu poskytnúť svoje údaje API, aby získali výsledky, takže možno je to skôr fiktívna reštaurácia, kde môžete poskytnúť niektoré z vašich vlastných ingrediencií, s ktorými bude kuchyňa pracovať.
Ale je to celkom presné. Rozhrania API umožňujú vývojárom ušetriť čas tým, že využívajú výhody implementácie platformy na to, aby robili náročnú prácu. Pomáha to znížiť množstvo vývojárov kódu, ktoré je potrebné vytvoriť, a tiež pomáha vytvárať väčšiu konzistentnosť medzi aplikáciami pre rovnakú platformu. Rozhrania API môžu riadiť prístup k hardvérovým a softvérovým zdrojom.
Rozhrania API uľahčujú vývojárom život
Povedzme, že chcete vytvoriť aplikáciu pre iPhone. Operačný systém Apple iOS poskytuje veľké množstvo rozhraní API - ako to robí každý iný operačný systém - aby ste to uľahčili.
Ak chcete vložiť webový prehliadač na zobrazenie jednej alebo viacerých webových stránok, napríklad nemusíte programovať vlastný webový prehliadač od začiatku len pre vašu aplikáciu. Rozhranie API WKWebView používate na vloženie objektu prehliadača WebKit (Safari) do aplikácie.
Ak chcete zachytiť fotografie alebo video z fotoaparátu iPhone, nemusíte písať vlastné rozhranie fotoaparátu. Aplikáciou API fotoaparátu používate zabudovaný vstavaný fotoaparát iPhone do aplikácie. Ak rozhrania API neexistujú, aby to bolo jednoduché, vývojári aplikácií by museli vytvoriť vlastný softvér pre fotoaparáty a interpretovať vstupy hardvéru fotoaparátu. Ale vývojári operačného systému Apple urobili všetku takúto prácu, takže vývojári môžu používať fotoaparát API na vloženie fotoaparátu a potom sa pustia do budovania svojej aplikácie. A keď spoločnosť Apple vylepšuje rozhranie API pre fotoaparáty, všetky aplikácie, ktoré sa na nej spoliehajú, automaticky využijú toto zlepšenie.
To platí pre každú platformu. Chcete napríklad vytvoriť dialógové okno v systéme Windows? Na to je API. Chcete podporiť autentifikáciu odtlačkov prstov v systéme Android? K dispozícii je aj rozhranie API, takže nemusíte skúšať každý senzor odtlačkov prstov od výrobcu Android. Vývojári nemusia opäť a znova vykresľovať koleso.
Rozhrania API riadia prístup k prostriedkom
Rozhrania API sa používajú aj na riadenie prístupu k hardvérovým zariadeniam a softvérovým funkciám, ktoré aplikácia nemusí mať nevyhnutne povolenie na použitie. Preto API často hrajú veľkú úlohu v bezpečnosti.
Napríklad, ak ste niekedy navštívili webovú lokalitu a v prehliadači ste videli správu o tom, že webová lokalita požaduje, aby sa zobrazila vaša presná poloha, táto webová lokalita sa vo webovom prehliadači pokúša použiť rozhranie API pre geolokáciu. Webové prehliadače vystavujú také rozhrania API, aby mohli vývojári webu ľahko pristupovať k vašej polohe - môžu sa len opýtať "kde sa nachádzate?" A prehliadač vynakladá ťažkú prácu na prístup k sieti Wi-Fi alebo blízkym sieťam Wi-Fi, aby našla vašu fyzickú polohu.
Tento istý princíp sa používa aj v moderných mobilných operačných systémoch, ako sú iOS a Android, kde mobilné aplikácie majú povolenia, ktoré možno vynútiť ovládaním prístupu k API. Ak sa napríklad vývojár pokúsi o prístup k fotoaparátu prostredníctvom API fotoaparátu, môžete požiadať o povolenie a aplikácia nemá prístup k fotoaparátu vášho zariadenia.
Systémy súborov, ktoré používajú povolenia - ako v prípade systémov Windows, Mac a Linux - majú takéto povolenia vynútené API súborového systému. Typická aplikácia nemá priamy prístup k surovému fyzickému disku. Aplikácia musí mať prístup k súborom prostredníctvom rozhrania API.
Rozhrania API sa používajú na komunikáciu medzi službami
Rozhrania API sa používajú aj pre všetky ostatné dôvody. Napríklad, ak ste niekedy videli objekt služby Mapy Google vložený na webovú stránku, táto webová lokalita používa API služby Mapy Google na vloženie tejto mapy. Spoločnosť Google vystavuje takto API vývojárom na webe, ktorí potom môžu používať rozhrania API na vytvorenie komplexných objektov priamo na svojich webových stránkach. Ak takéto rozhrania API neexistovali, vývojári by mohli vytvoriť svoje vlastné mapy a poskytnúť svoje vlastné údaje mapy, aby na webovej stránke dali malú interaktívnu mapu.
A pretože je to rozhranie API, spoločnosť Google môže kontrolovať prístup k Mapám Google na webových stránkach tretích strán a zaistiť, aby ich používali konzistentným spôsobom, než aby sa pokúšali vložiť rámček, ktorý zobrazuje napríklad webovú stránku služby Mapy Google.
To platí pre mnoho rôznych online služieb. Existujú rozhrania API, ktoré vyžadujú preklad textu z prekladu Google alebo vkladanie komentárov alebo tweetov zo služby Twitter na webových stránkach.
Norma OAuth tiež definuje množstvo rozhraní API, ktoré vám umožňujú prihlásiť sa na webovú stránku s inou službou - napríklad používať svoje účty Facebook, Google alebo Twitter na prihlásenie na novú webovú stránku bez vytvorenia nového používateľského účtu pre danú lokalitu, Rozhrania API sú štandardné zmluvy, ktoré určujú, ako vývojári komunikujú so službou, a druh výstupu, ktorý by mali vývojári očakávať, že budú spätne prevzaté.
Ak ste sa dostali cez to, budete mať lepšiu predstavu o tom, čo je API. V konečnom dôsledku skutočne nemusíte vedieť, čo je rozhranie API, pokiaľ nie ste vývojár. Ak však vidíte, že softvérová platforma alebo služba pridal nové rozhrania API pre rôzne hardvér alebo služby, mali by vývojári jednoduchšie využívať tieto funkcie.