Co je API?

Pravděpodobně jste již viděli termín „API“. Aktualizace operačního systému, webového prohlížeče a aplikací často oznamují nová rozhraní API pro vývojáře. Ale co je API?

Rozhraní pro programování aplikací

Termín API je zkratka a znamená „Aplikační programové rozhraní“.

Představte si API jako nabídku v restauraci. Nabídka obsahuje seznam jídel, která si můžete objednat, spolu s popisem každého jídla. Když určíte, jaké položky nabídky chcete, kuchyně restaurace bude fungovat a poskytne vám několik hotových jídel. Nevíte přesně, jak restaurace toto jídlo připravuje, a opravdu to nemusíte.

Podobně API uvádí spoustu operací, které mohou vývojáři používat, spolu s popisem toho, co dělají. Vývojář nemusí nutně vědět, jak například operační systém vytváří a představuje dialogové okno „Uložit jako“. Jen potřebují vědět, že je k dispozici pro použití v jejich aplikaci.

To není dokonalá metafora, protože vývojáři možná budou muset poskytnout své vlastní údaje API, aby získali výsledky, takže je to spíš jako fantastická restaurace, kde můžete poskytnout některé ze svých vlastních ingrediencí, s nimiž bude kuchyň pracovat.

Ale je to široce přesné. Rozhraní API umožňují vývojářům šetřit čas tím, že využijí implementaci platformy k práci s hloupostí. To pomáhá snížit množství kódu, který vývojáři potřebují vytvořit, a také pomáhá vytvořit větší konzistenci mezi aplikacemi pro stejnou platformu. API mohou řídit přístup k hardwarovým a softwarovým prostředkům.

Rozhraní API usnadňují vývojářům život

Řekněme, že chcete vyvinout aplikaci pro iPhone. Operační systém Apple pro iOS poskytuje velké množství rozhraní API - jako každý jiný operační systém -, aby vám to usnadnil.

Pokud chcete vložit webový prohlížeč, aby zobrazoval například jednu nebo více webových stránek, nemusíte svůj vlastní webový prohlížeč programovat úplně od začátku pouze pro vaši aplikaci. Rozhraní WKWebView API používáte k vložení objektu prohlížeče WebKit (Safari) do vaší aplikace.

Pokud chcete pořizovat fotografie nebo videa z fotoaparátu iPhone, nemusíte psát vlastní rozhraní fotoaparátu. K vložení vestavěné kamery pro iPhone do aplikace používáte API kamery. Pokud by API neexistovaly, aby to bylo snadné, vývojáři aplikací by museli vytvořit svůj vlastní software kamery a interpretovat vstupy hardwaru kamery. Ale vývojáři operačních systémů Apple odvedli veškerou tuto tvrdou práci, takže vývojáři mohou k vložení kamery použít pouze API fotoaparátu a poté pokračovat v budování své aplikace. A když Apple vylepší API fotoaparátu, všechny aplikace, které se na něj spoléhají, automaticky využijí výhody tohoto vylepšení.

To platí pro každou platformu. Chcete například vytvořit dialogové okno v systému Windows? K tomu existuje API. Chcete podporovat ověřování otisků prstů v systému Android? K tomu existuje také API, takže nemusíte testovat každý snímač otisků prstů každého jiného výrobce Androidu. Vývojáři nemusí znovu objevovat kolo.

API řídí přístup k prostředkům

API se také používají k řízení přístupu k hardwarovým zařízením a softwarovým funkcím, ke kterým nemusí mít aplikace nutně oprávnění. Proto API často hrají v zabezpečení velkou roli.

SOUVISEJÍCÍ: Jak zabránit webovým stránkám v dotazování na vaši polohu

Pokud jste například někdy navštívili web a ve vašem prohlížeči se vám zobrazila zpráva, že web požaduje vaši přesnou polohu, tento web se pokouší ve vašem webovém prohlížeči použít API geolokace. Webové prohlížeče vystavují taková API, která vývojářům webových stránek usnadňují přístup k vaší poloze - mohou se jen zeptat „kde jsi?“ a prohlížeč dělá těžkou práci při přístupu k GPS nebo blízkým sítím Wi-Fi, aby zjistil vaši fyzickou polohu.

Prohlížeče však také zveřejňují tyto informace prostřednictvím rozhraní API, protože je možné řídit přístup k nim. Když web chce přístup k vašemu přesnému fyzickému umístění, jediný způsob, jak ho získat, je přes API umístění. A když se ho web pokusí použít, vy - uživatel - se můžete rozhodnout tento požadavek povolit nebo zamítnout. Jediný způsob, jak získat přístup k hardwarovým prostředkům, jako je snímač GPS, je prostřednictvím rozhraní API, takže prohlížeč může ovládat přístup k hardwaru a omezovat, co mohou aplikace dělat.

Stejný princip se používá v moderních mobilních operačních systémech, jako jsou iOS a Android, kde mobilní aplikace mají oprávnění, která lze vynutit kontrolou přístupu k API. Pokud se například vývojář pokusí o přístup ke kameře prostřednictvím API kamery, můžete žádost o povolení zamítnout a aplikace nemá žádný způsob přístupu ke kameře vašeho zařízení.

Systémy souborů, které používají oprávnění - stejně jako v systémech Windows, Mac a Linux - mají tato oprávnění vynucená rozhraním API systému souborů. Typická aplikace nemá přímý přístup k nezpracovanému fyzickému pevnému disku. Místo toho musí aplikace přistupovat k souborům prostřednictvím rozhraní API.

API se používají pro komunikaci mezi službami

API se používají také z různých důvodů. Pokud jste například někdy viděli objekt Google Maps vložený na web, tento web používá k vložení této mapy rozhraní API Google Maps. Google vystavuje taková rozhraní API webovým vývojářům, kteří pak mohou pomocí rozhraní API plopovat složité objekty přímo na svých webových stránkách. Pokud taková API neexistovala, vývojáři možná budou muset vytvořit své vlastní mapy a poskytnout svá vlastní mapová data, jen aby na web umístili malou interaktivní mapu.

A protože se jedná o API, Google může řídit přístup k Mapám Google na webech třetích stran a zajistit, aby je používaly konzistentně, místo aby se pokoušely vložit rám, který zobrazuje web Map Google, například.

To platí pro mnoho různých online služeb. Existují rozhraní API pro vyžádání překladu textu z Překladače Google nebo pro vložení komentářů nebo tweetů z Facebooku z Twitteru na web.

SOUVISEJÍCÍ: Co je OAuth? Jak fungují přihlašovací tlačítka pro Facebook, Twitter a Google

Standard OAuth také definuje řadu rozhraní API, která vám umožňují přihlásit se na web pomocí jiné služby - například použít své účty Facebook, Google nebo Twitter k přihlášení na nový web bez vytvoření nového uživatelského účtu pouze pro tento web . API jsou standardní smlouvy, které definují, jak vývojáři komunikují se službou, a druh výstupu, který by vývojáři měli očekávat, že dostanou zpět.

Pokud jste si tím prošli, budete mít lepší představu o tom, co je API. Nakonec opravdu nemusíte vědět, co je API, pokud nejste vývojář. Pokud však uvidíte, že softwarová platforma nebo služba přidala nová rozhraní API pro různé hardware nebo služby, mělo by být pro vývojáře snazší tyto funkce využívat.

Uznání obrázku: patpitchaya / Shutterstock.com.