Zpátky

Co je to API a její příklady

Asi neexistuje v it světě více matoucí pojem, než je api. Ať jste podnikatel, student, manažer,nebo prostě člověk pohybující se ve světě it.Tak jste se určitě tím pojmem setkali a zdálo se vám, že jen programátoři znají její tajemství a vám to nikdy neprozradí. Teda až do dnes.

Problémem je, že API je abstraktní pojem, tedy nemá solidní definici, spíše několik vlastností, co musí mít a co za problém řeší. Takže když si člověk vygoogluje API jako:

“Jde o sbírku procedur, funkcí, tříd či protokolů nějaké knihovny , které může programátor využívat. API určuje, jakým způsobem jsou funkce knihovny volány ze zdrojového kódu programu.”

Tak mu to moc nepomůže….

Začneme u názvu, API nebo:„application programming interface“

Slova application programming značí jen že Api je samostatná aplikace, která se dá naprogramovat, jak programátor chce.

Třetí slovo je pro nás nejdůležitější rozhraní Stejně jako u slova UI,“interface” znamená česky rozhraní.

Ananalogie o rádiu

radio

Představte si přední stranu rádia s čudlíky a měničem hlasu atd. Tímto rozhraním ovládá posluchač vlastnosti rádia a může si tak užít zážitek podle sebe.

Ale jak to funguje? Jak se v rádiu se zvedá hlasitost, mění frekvence a překlikne z FM na AM?

No… to právě uživatel se nemusí starat, stačí, aby správně manipuloval s rozhraním rádia, a jak se jeho pohyby s tlačítky mění eletrícké napětí v rádiu, je mu fuk.

Takže rozhraní u rádia je prostředníkem mezi posluchačem a elektronikou uvnitř.

Co to má společného webovou api?

Jak u rádia nechceme aby posluchač manipuloval s elektronikou přímo, tak u webové stránky uživatel nesmí manipulovat s daty na serveru.

Ale spojí se s api a komunikuje jen s ní.

Kupříkladu máme stránku knihovny a potřebujeme tam vykreslit 20 knih a data těch knih jsou uložené v databázi na serveru. Samozřejmně, že by šlo se napřímo připojit do databáze a vzít si 20 knih.

To by bylo ale pracné, takhle bychom potřebovali specifikaci databáze a vědět SQL nebo jiny DB jazyk, který se tam požívá. Dále přemýšlet o bezpečnosti, kdokoliv se tam může připojit a smazat nebo jinak změnit trvale databázi.

Asi vidíte, že existuje jiná cesta. Místo abych jsem komunikoval se serverem přímo, naprogramuju si prostředníka, který bude mít několik funkcí, jednou z nich bude poslat data 20ti knih uživateli.

Takže pokud bude uživatel chtít tyto data, stačí, aby poslal na api dotaz “GET books/20” a api se postará o vše, bez toho, aby uživatel věděl něco o serveru.

REST API vs. GRAPHQL

Oba jsou api protokoly,ale každý přistupují k dotazům, mají své výhody a nevýhody a jsou vhodné pro různé účely.

REST (Representational State Transfer):

má vícero druhů endpointů, takže pokud uživatel chce více druhů, tak musí zavolat několik entpointů najednou.

Představte si, že jste v restauraci a ukážete v menu na název jídla.

Výhody REST:

  • Jednoduchost: REST API jsou často jednodušší na pochopení a implementaci, což je výhodné pro jednoduchá a malá rozhraní.
  • Škálovatelnost: REST je vhodný pro systémy, které potřebují horizontální škálovatelnost, protože každý zdroj je dostupný na samostatném URL.
  • Cache: REST využívá HTTP metody, což umožňuje snadnou implementaci cachování na straně klienta.

GraphQL

Řeší problém REST api tak že používá jen jeden endpoint a data které potřebuje od serveru píše v objeku které pošle s ním.

Takže si představte Subway, kde si přesně nadiktujete, co v sendviči chcete.

  • Výhody GraphQL:Flexibilita: GraphQL umožňuje klientovi získat přesně data, která potřebuje, což snižuje přenos nepotřebných dat a zlepšuje výkon.
  • Jedno API pro všechno: GraphQL může sloužit jako jediné rozhraní pro všechny typy klientů (mobilní aplikace, webové aplikace, IoT atd.), což zjednodušuje správu a údržbu API.
  • Méně dotazů: Kvůli schopnosti sjednotit více dotazů do jednoho se může snížit počet dotazů na server a minimalizovat problém "N+1".

Různé typy api

  • Instagram API: Umožňují vývojářům přistupovat k funkcím a datům sociálních médií pro integraci do aplikací.
  • Google Maps API: Poskytují přístup k mapám a geografickým informacím pro vytváření lokalizačních a navigačních funkcí.
  • YouTube API: Slouží k práci s multimediálním obsahem, jako jsou videa, hudba a obrázky, pro sdílení a manipulaci.
  • PayPal API: Umožňují zpracování online plateb a transakcí pro e-commerce a platby na webu.

Závěr

Základním cílem tohoto blogu bylo odstranit obavy spojené s pojmem "API" a poskytnout jednoduchý a praktický vhled do toho, co API vlastně znamená.

API slouží jako prostředník mezi různými systémy, nejčastěji mezi webovou aplikací a serverem. Toto rozhraní je základním stavebním kamenem mnoha moderních digitálních projektů a umožňuje různým technologiím komunikovat mezi sebou.

Tento blog může sloužit jako výchozí bod pro další studium a vzdělávání se v oblasti API. Rozšiřte si své znalosti o této klíčové součásti moderního digitálního světa, a na dalším meetingu budete moci efektivněji komunikovat s týmem a lépe porozumět tomu, co se děje za scénou vašich projektů.