Přidáváte do mobilní aplikace platby, přihlášení přes Google nebo mapu. Poskytovatel služby vám v dokumentaci nabídne API a vedle něj „SDK pro iOS a Android“. SDK (Software Development Kit) je hotová sada nástrojů, se kterou vývojáři službu do aplikace napojí rychleji, než kdyby všechno psali od nuly. Ukážeme, co v ní najdete, jak souvisí s API a na co při jejím použití myslet.

Co je SDK (Software Development Kit)
SDK je zkratka anglického Software Development Kit, česky sada nástrojů pro vývoj softwaru. Je to balíček, který poskytovatel služby nebo platformy připraví pro vývojáře, aby se na ni mohli napojit bez psaní všeho od nuly.
Typické SDK obsahuje:
- knihovny: hotový kód, který vývojáři vloží do aplikace,
- dokumentaci: popis, jak SDK použít, včetně popisu API, na které se napojuje,
- ukázkový kód pro nejčastější situace,
- nástroje pro testování, například testovací prostředí, kde se dá zkoušet bez skutečných plateb nebo dat.
Se SDK se setkáváte, i když o tom nevíte. Když v aplikaci platíte kartou a otevře se platební formulář, když se přihlašujete tlačítkem „Pokračovat přes Apple“, když se vám v aplikaci zobrazí mapa nebo přijde push notifikace, typicky za tím stojí SDK poskytovatele dané služby. Totéž platí pro analytiku, hlášení pádů aplikace nebo napojení AI asistenta.
Zkratka SDK se v oboru používá ve dvou významech. Kromě SDK služeb existují i SDK celých platforem, se kterými se aplikace staví: iOS SDK, Android SDK nebo Expo SDK. Dál se věnujeme těm prvním: SDK, která do své aplikace přidáváte, abyste ji propojili s cizí službou.
Jak spolu souvisí SDK a API
SDK a API nejsou dvě alternativy, ze kterých se vybírá. API je rozhraní služby: pravidla, podle kterých s ní mohou komunikovat jiné systémy. SDK je hotový kód a dokumentace postavené nad tímto API pro konkrétní platformu, třeba pro iOS, Android nebo web.
Bez SDK si vývojáři komunikaci s API napíšou sami: jak se ke službě přihlásit, v jakém formátu posílat data, jak reagovat na chybu nebo výpadek. SDK tohle všechno přináší hotové. Některé služby jdou ještě dál a v SDK dodávají i hotové obrazovky, například platební formulář nebo přihlašovací okno, které rovnou splňují jejich požadavky.
Jak funguje API samotné, podrobně vysvětlujeme v článku API: co to je, jak funguje a proč ho dnes potřebuje každá moderní aplikace.
SDK od poskytovatele, nebo vlastní napojení přes API?
Skutečné rozhodnutí tedy není „SDK, nebo API“, ale jestli použít hotové SDK poskytovatele, nebo si napojení na jeho API napsat sami. Obecně platí: SDK se vyplatí tam, kde služba pracuje přímo v aplikaci a s funkcemi telefonu. Vlastní napojení dává smysl tam, kde se propojují systémy na serveru, kde SDK neumí to, co potřebujete, nebo kde pro vaši technologii neexistuje.
| SDK poskytovatele | Vlastní napojení přes API | |
| Rychlost napojení | Vyšší, většina práce je hotová | Nižší, kód píše váš tým |
| Kontrola nad řešením | Omezená, SDK se chová podle výrobce | Plná, chování určujete vy |
| Velikost aplikace | Přidává do aplikace cizí kód | V aplikaci je jen to, co potřebujete |
| Aktualizace | Vydává je výrobce, vy je zapracováváte | Řešíte sami podle změn API |
| Závislost na výrobci | Vyšší | Nižší |
SDK je typicky lepší volba pro platby v aplikaci, přihlášení přes Apple nebo Google, biometrii, push notifikace nebo mapy. Tyto služby pracují s funkcemi telefonu a poskytovatelé je často podporují hlavně přes SDK.
Vlastní napojení přes API je typické pro propojení s ERP, CRM a dalšími interními systémy. Tahle komunikace obvykle neprobíhá v aplikaci v telefonu, ale na serveru.
Co když SDK pro vaši technologii neexistuje
U multiplatformních aplikací v React Native se vyplatí ověřit, jestli poskytovatel nabízí SDK i pro React Native. Řada velkých služeb ho má. Pokud ne, nejde o překážku: nativní SDK pro iOS a Android se dá obalit vlastním modulem, například přes Expo Modules API, a aplikace ho pak používá jako jakoukoli jinou knihovnu. Je to ale práce navíc, se kterou je dobré počítat už v odhadu projektu.
Na co myslet, když do aplikace přidáváte SDK
SDK ušetří vývojářům práci a stane se součástí vaší aplikace. Proto se vyplatí vybírat ho stejně pečlivě jako kteroukoli jinou část projektu. Jde hlavně o čtyři oblasti.
Data a soukromí uživatelů
SDK pracuje uvnitř aplikace a může zpracovávat data uživatelů, například pro analytiku nebo personalizaci. Před integrací je dobré vědět, jaká data SDK sbírá a k čemu je používá. U zavedených poskytovatelů to najdete v dokumentaci a v zásadách ochrany soukromí.
Pravidla App Store a Google Play
Obchody s aplikacemi berou SDK jako součást vaší aplikace a mají pro ně jasná pravidla. Apple u desítek nejpoužívanějších SDK vyžaduje takzvaný privacy manifest, tedy popis toho, s jakými daty SDK pracuje, a podpis, který ověřuje, že nová verze pochází od stejného výrobce (Apple). Google Play upozorňuje na zastaralé verze SDK a u verzí s kritickým problémem vyžaduje aktualizaci do 90 dnů (Google Play). Díky tomu máte o SDK v aplikaci přehled a víte, kdy je potřeba je aktualizovat.
Aktualizace
Nové verze SDK vydává výrobce ve svém tempu a starší verze časem přestává podporovat. Aktualizace SDK proto patří do běžné údržby aplikace, stejně jako aktualizace samotné platformy. Pokud se dlouho odkládají, vzniká technický dluh. U dobře navržené aplikace se přechod na novou verzi SDK, nebo dokonce na jinou službu, týká jen té části kódu, která se SDK pracuje.
Velikost aplikace
Každé SDK přidá do aplikace nějaký kód. U jednoho nebo několika SDK to uživatel obvykle nepozná. Vyplatí se ale přidávat jen ta SDK, která aplikace opravdu využívá.
Než SDK přidáte do aplikace
Při výběru konkrétního SDK si s vývojovým týmem projděte několik otázek. Odpovědi většinou najdete v dokumentaci poskytovatele a pomohou vám rozhodnout, jestli SDK použít, nebo zvolit vlastní napojení přes API:
- Kdo SDK vyvíjí a jak často vychází nová verze?
- Jaká data SDK sbírá a k čemu je používá? Má privacy manifest pro iOS?
- Podporuje technologii, ve které je vaše aplikace postavená, například React Native?
- Potřebujete SDK přímo v aplikaci, nebo by stačilo napojení na API ze serveru?
- Jak snadno by šlo SDK v budoucnu vyměnit za jiné?
Integrace jako součást projektu
Napojení na cizí služby rozhoduje o tom, jestli aplikace funguje jako součást vašeho byznysu, nebo stojí izolovaně. Proto ho v Argo22 řešíme od začátku projektu.
Při vývoji mobilních aplikací i webových aplikací napojujeme platební brány, identitní systémy, ERP i interní systémy velkých firem. Ještě před vývojem si ujasníme, kde dává smysl SDK, kde vlastní napojení přes API a co každá varianta znamená pro bezpečnost a další provoz aplikace.
Řešíte napojení služby do aplikace a chcete probrat technické řešení? Ozvěte se nám, projdeme ho s vámi.