Smarty Academy
blog
11
apr
  • 11. apríla 2023

Čo je API (Application Programming Interface)

API, alebo Application Programming Interface, je výraz, ktorý sa často používa v súvislosti s programovaním a vývojom webových aplikácií. V tomto článku si prejdeme podrobnosti o tom, čo je API, aké sú jeho základné vlastnosti a ako sa používa.

Čo je API?

API je skratka pre Application Programming Interface, čo znamená, že je to rozhranie, ktoré umožňuje jednej aplikácii komunikovať s inou aplikáciou alebo systémom. API umožňuje vývojárom pristupovať k funkcionalite iných aplikácií a využívať ju vo svojich vlastných aplikáciách bez toho, aby museli znova vytvárať funkcionalitu, ktorú už niekto iný vytvoril.

API môže byť verejné alebo súkromné. Verejné API je dostupné pre všetkých používateľov, ktorí majú prístup k internetu a ktorí chcú s ním komunikovať. Súkromné API je obmedzené na určitých používateľov alebo aplikácie a nie je verejne dostupné.

Ako funguje API?

API umožňuje dvom aplikáciám alebo systémom komunikovať pomocou definovaného rozhrania. Rozhranie môže byť navrhnuté tak, že jedna aplikácia pošle požiadavku na spracovanie a druhá aplikácia vráti odpoveď.

Architektúra API sa zvyčajne vysvetľuje z hľadiska klienta a servera. Aplikácia odosielajúca požiadavku sa nazýva klient a aplikácia odosielajúca odpoveď sa nazýva server. Takže v reálnom príklade: napr. údaje počasia je databáza na serveri úradu (v našom prípade Slovenský hydrometeorologický ústav) a mobilná aplikácia, kde sa zobrazí aktuálne počasie, je klient. 

API môže používať rôzne formáty prenosu dát, ako sú napríklad XML, JSON, CSV a iné. Pri výmene dát medzi aplikáciami alebo systémami sa používajú definované metódy, ktoré popisujú, ako majú byť dáta posielané a prijímané.

Existujú štyri rôzne spôsoby, ako môžu rozhrania API fungovať v závislosti od toho, kedy a prečo boli vytvorené.

SOAP API 

Tieto rozhrania API používajú protokol Simple Object Access Protocol. Klient a server si vymieňajú správy pomocou XML. Toto je menej flexibilné API, ktoré bolo v minulosti populárnejšie.

RPC API

Tieto rozhrania API sa nazývajú vzdialené volania procedúr. Klient dokončí funkciu (alebo procedúru) na serveri a server odošle výstup späť klientovi.

Websocket API

Websocket API  je ďalšie moderné webové rozhranie API, ktoré používa objekty JSON na odovzdávanie údajov. WebSocket API podporuje obojsmernú komunikáciu medzi klientskými aplikáciami a serverom. Server môže posielať správy spätného volania pripojeným klientom, vďaka čomu je efektívnejší ako REST API.

REST API

Toto sú najpopulárnejšie a najflexibilnejšie API, ktoré sa dnes nachádzajú na webe. Klient posiela požiadavky na server ako dáta. Server používa tento vstup klienta na spustenie interných funkcií a vracia výstupné údaje späť klientovi. 

Čo sú REST API?

REST je skratka pre Representational State Transfer. REST definuje súbor funkcií ako GET, PUT, DELETE atď., ktoré môžu klienti použiť na prístup k údajom servera. Klient a server si vymieňajú dáta pomocou HTTP.

Hlavnou črtou  REST API  je bezstavovosť. Bezstavový stav znamená, že servery neukladajú klientske údaje medzi požiadavkami. Požiadavky klienta na server sú podobné adresám URL, ktoré zadávate do prehliadača pri návšteve webovej lokality. Odpoveď zo servera sú obyčajné dáta bez typického grafického vykresľovania webovej stránky.

Aké sú základné vlastnosti API?

API má niekoľko základných vlastností, ktoré by mali byť splnené:

  • Rozhranie: API musí mať definované rozhranie, ktoré určuje, ako aplikácia alebo systém môže komunikovať s inými aplikáciami alebo systémami.
  • Programovací jazyk: API môže byť naprogramované v rôznych jazykoch, ale musí byť kompatibilné s jazykom používaným v aplikácii alebo systéme, ktoré ho používa.
  • Bezpečnosť: API musí byť zabezpečené a chránené pred neoprávneným prístupom.
  • Dokumentácia: API by malo mať dokumentáciu, ktorá popisuje, ako používať API a aké sú jeho funkcie a vlastnosti.
  • Škálovateľnosť: API musí byť navrhnuté tak, aby bolo možné ho škálovať podľa potreby. To znamená, že by malo byť možné pridávať nové funkcie a rozširovať existujúce funkcie API.
  • Výkon: API by malo byť navrhnuté tak, aby bolo rýchle a účinné, aby sa minimalizoval čas, ktorý potrebuje na spracovanie požiadaviek.

Výhody používania API

Používanie API má niekoľko výhod, ktoré robia z API veľmi užitočný nástroj pre programovanie a vývoj webových aplikácií. Niektoré z výhod sú:

  • Opakovateľnosť: API môže byť použité opakovane a využité na rôznych aplikáciách a systémoch. To znamená, že sa nemusí opakovať vývoj funkcionality, ktorá už bola vyvinutá.
  • Efektivita: Používanie API môže byť efektívnejšie, pretože umožňuje využívanie existujúcej funkcionality a dát a minimalizuje potrebu znovupoužitia kódu.
  • Flexibilita: API umožňuje vývojárom a programátorom využívať rôzne technológie a jazyky programovania, ktoré sú najvhodnejšie pre konkrétny účel.
  • Zabezpečenie: API môže byť zabezpečené a chránené pred neoprávneným prístupom. Týmto spôsobom sa dá minimalizovať riziko úniku dát.
  • Spolupráca: API umožňuje vývojárom a programátorom spolupracovať na vývoji aplikácií a systémov a využívať spoločné zdroje a funkcionality.

Bežné príklady využitia API

Keďže API umožňujú spoločnostiam otvoriť prístup k ich zdrojom pri zachovaní bezpečnosti a kontroly, stali sa cenným aspektom moderného podnikania. Tu je niekoľko populárnych príkladov aplikačných programovacích rozhraní, s ktorými sa môžete stretnúť:

  • Univerzálne prihlasovacie údaje: Populárnym príkladom rozhrania API je funkcia, ktorá umožňuje ľuďom prihlásiť sa na webové stránky pomocou prihlasovacích údajov profilu na Facebooku, Twitteri alebo Google. Táto pohodlná funkcia umožňuje akejkoľvek webovej lokalite využiť rozhranie API z jednej z najpopulárnejších služieb na rýchlu autentifikáciu používateľa, čo mu ušetrí čas a námahu pri nastavovaní nového profilu pre každú webovú službu alebo nové členstvo.
  • Spracovanie platieb treťou stranou:  Vo svete bežná funkcia „Pay with PayPal / Google Pay / Apple Pay“, ktorú vidíte na webových stránkach elektronického obchodu, funguje prostredníctvom rozhrania API. Ľudia tak môžu platiť za produkty online bez toho, aby odovzdali akékoľvek citlivé údaje alebo poskytli prístup neoprávneným osobám.
  • Porovnania cien leteniek / ubytovania:  Stránky s rezerváciami leteniek / zájazdov / ubytovania  zhromažďujú tisíce letov a zobrazujú najlacnejšie možnosti pre každý dátum a destináciu. Táto služba je dostupná prostredníctvom API, ktoré používateľom aplikácií poskytujú prístup k najnovším informáciám o dostupnosti od hotelov a leteckých spoločností. Vďaka autonómnej výmene údajov a požiadaviek API výrazne znižujú čas a námahu spojenú s kontrolou dostupných letov alebo ubytovania.
  • Mapy Google: Jedným z najbežnejších príkladov dobrého rozhrania API je služba Mapy. Okrem základných rozhraní API, ktoré zobrazujú statické alebo interaktívne mapy, aplikácia využíva ďalšie rozhrania API a funkcie, ktoré používateľom poskytujú trasy alebo body záujmu. Prostredníctvom geolokácie a viacerých dátových vrstiev môžete komunikovať s rozhraním Maps API pri vykresľovaní cestovných trás alebo sledovaní zaujímavých bodov na ceste, alebo dopravné správy.
  • Twitter:  Každý Tweet obsahuje popisné základné atribúty vrátane autora, jedinečného ID, správy, časovej pečiatky, kedy bol uverejnený, a geolokačných metadát. Twitter sprístupňuje verejné tweety a odpovede vývojárom a umožňuje vývojárom uverejňovať tweety prostredníctvom rozhrania API.

Najčastejšie otázky o API

Čo je API?

API (z angl. Application Programming Interface) je sada definícií, protokolov a nástrojov určených na vytváranie softvéru a aplikácií. API umožňuje programátorom pristupovať a interagovať s funkcionalitou iného softvéru alebo systému.

Aké sú bežné použitia API v programovaní?

API sa v programovaní často používajú na získavanie dát a funkcionality z rôznych zdrojov, ako sú napríklad sociálne siete, databázy a iné webové služby. Programátori tiež využívajú API na vytváranie vlastných aplikácií a služieb a na integráciu rôznych systémov.

Aké typy API existujú?

Existujú rôzne typy API, vrátane REST API, SOAP API, GraphQL a iné. Každý typ má svoje vlastnosti, formáty dát a spôsoby komunikácie.

Ako funguje API?

API fungujú tak, že definujú súbor pravidiel a protokolov pre komunikáciu medzi rôznymi softvérovými aplikáciami. Zvyčajne používajú model požiadavka-odpoveď, kde aplikácia odošle požiadavku na API a dostane odpoveď obsahujúcu požadované dáta.

Ako použiť API v programovaní?

Na použitie API musíte najskôr získať kľúč API alebo prístupový token od poskytovateľa API. Potom môžete použiť tento kľúč na odoslanie požiadavky na API a získať dáta alebo funkcionalitu ako odpoveď.

Aké sú najlepšie postupy pre vytváranie a dokumentáciu vlastného API?

Pri vytváraní vlastného API by ste mali zvážiť faktory, ako sú bezpečnosť, výkon, spoľahlivosť a ľahká použiteľnosť pre programátorov. Dokumentácia by mala obsahovať detailné informácie o API vrátane popisu každej funkcie, príkladov požiadaviek a odpovedí, a iných relevantných informácií.

Ako zabezpečiť, aby moje API bolo bezpečné?

Bezpečnosť je dôležitým faktor pri vytváraní API. Je dôležité zabezpečiť API proti útokom, zabezpečiť autentifikáciu a autorizáciu používateľov a chrániť dáta proti zneužitiu. Niektoré z metód zabezpečenia zahŕňajú šifrovanie dát, používanie tokenu, overovanie prístupu, kontrolu zdrojov a iné.

Ako testovať API?

API by mali byť testované pred uvoľnením do produkčného prostredia. Na testovanie API môžete použiť rôzne nástroje, ako sú Postman, SoapUI a iné. Testovanie by malo zahrňovať testovanie funkcionality, výkonu, bezpečnosti a integritu dát.

Aké sú najlepšie postupy pre používanie API tretích strán?

Pri používaní API tretích strán je dôležité vybrať spoľahlivého poskytovateľa API a overiť si bezpečnosť API a pravidlá použitia. Treba tiež sledovať počet volaní API a overiť si, či je API vhodné pre konkrétny účel.

Ako zabezpečiť, aby boli moje API aktualizované?

Pri vytváraní API je dôležité zabezpečiť, aby bolo pravidelne aktualizované, aby zodpovedalo aktuálnym potrebám používateľov a technologickému vývoju. Najlepšie postupy zahŕňajú sledovanie zmeny potrieb používateľov, overovanie a aktualizáciu pravidelných intervalov a sledovanie vývoja technológií.

Zhrnutie

API je dôležitou súčasťou programovania a vývoja webových aplikácií. Je to rozhranie, ktoré umožňuje aplikáciám a systémom komunikovať a zdieľať funkcionality a dáta. API môže byť využité na rôzne účely, ako sú integrácia aplikácií, poskytovanie prístupu k dátam a poskytovanie služieb a funkcií pre iné aplikácie a systémy. Používanie API má mnoho výhod, ako je opakovateľnosť, efektivita, flexibilita, skladnosť, zabezpečenie a spolupráca. Preto by vývojári a programátori mali byť oboznámení s API a jeho funkčnosťou a výhodami.