Zkratka proSoftware Development Kites dé káTakéSDK pro mobilní aplikace, Software Development Kit, iOS SDK, Android SDK, Klientská knihovna pro mobilPokročilý
Definice
Mobilní SDK je balík hotového kódu, nástrojů a dokumentace, který vývojář vloží do iOS nebo Android aplikace, aby v ní zprovoznil cizí službu bez psaní vlastní integrace. Typicky obsahuje knihovnu s API voláními, ukázkové projekty a konfiguraci závislostí. Používají ho platební brány, analytika, mapy, push notifikace nebo přihlašování přes sociální sítě.
Nezaměňujte: Zkratka SDK obecně označuje jakýkoli vývojářský balík (například AWS SDK pro backend); mobilní SDK je jeho podmnožina určená pro klientské aplikace na iOS a Androidu.
Než se na to spolehnete: Wikidata ID pro „software development kit“ jsem uvedl podle paměti, prosím ověřit. Konkrétní čísla ve druhém příkladu jsou ilustrativní scénář, ne měření z konkrétního projektu.
Příklady z praxe
Platební SDK místo vlastní integrace
E-shop potřebuje v aplikaci přijímat karty. Vlastní implementace by znamenala řešit tokenizaci karty, 3-D Secure přesměrování a Apple Pay zvlášť. SDK platební brány dodá hotový formulář, zvládne ověřovací tok i návrat do aplikace a citlivá data se nikdy nedostanou na vlastní server, což výrazně zjednodušuje rozsah PCI DSS.
// Android, Kotlin: spuštění platebního toku ze SDK val config = PaymentConfiguration(publishableKey = BuildConfig.PAY_PUBLIC_KEY) paymentSheet.presentWithPaymentIntent( paymentIntentClientSecret = secretFromBackend, configuration = config )Analytické SDK zpomalilo start
Tým přidal do aplikace tři marketingová SDK najednou a čas studeného startu vzrostl z 1,2 na 1,9 sekundy, protože se všechna inicializovala synchronně v Application.onCreate. Přesun inicializace na pozadí a odložení dvou z nich až za první vykreslení obrazovky vrátil start pod 1,4 sekundy. Bez měření před integrací by nikdo nevěděl, které SDK je viník.
Časté omyly
- MýtusSDK je jen jiné slovo pro API.
- Ve skutečnostiAPI je popis rozhraní, tedy dohoda o tom, co se volá a co se vrátí. Mobilní SDK je konkrétní balík kódu, který to rozhraní za vás volá a přidává k němu logiku, například obnovu tokenu, frontu offline událostí a hotové obrazovky.
- MýtusKdyž použijeme oficiální SDK, máme integraci hotovou a nemusíme se o ni starat.
- Ve skutečnostiVerze SDK stárnou spolu s požadavky obchodů. Apple i Google pravidelně mění pravidla cílového SDK a soukromí, takže neaktualizovaná knihovna může zablokovat vydání celé aplikace, i když funguje bez chyby.
- MýtusSDK třetí strany nemůže vidět data mimo svou funkci.
- Ve skutečnostiSDK běží ve stejném procesu jako aplikace a má stejná oprávnění. Technicky může číst to, k čemu má aplikace přístup, proto je namístě prověřit vydavatele, licenci i deklarovaný sběr dat.
Časté dotazy
- Kolik SDK je v mobilní aplikaci ještě rozumné množství?
- Pevné číslo neexistuje, ale platí praktické pravidlo: každé SDK musí mít jasného vlastníka v týmu a měřitelný přínos. V praxi si aplikace vystačí s jedním analytickým, jedním pro hlášení pádů, případně platebním a jedním marketingovým. Jakmile jich je víc než pět, roste velikost balíčku, prodlužuje se studený start a při každé velké aktualizaci systému musíte čekat na kompatibilní verze od více dodavatelů najednou. Duplicitní SDK, která měří totéž, jsou nejčastější zbytečnou zátěží.
- Jak bezpečně aktualizovat verzi mobilního SDK?
- Aktualizace mobilního SDK patří do samostatného commitu, nikdy do stejného vydání jako velká funkční změna. Postup je přečíst changelog kvůli změnám v rozhraní, zvýšit verzi ve správci závislostí, spustit ukázkovou aplikaci dodavatele a pak vlastní testy. Následuje postupné vydání menší části uživatelů a sledování míry pádů. Zvláštní pozor si zaslouží velké verzové skoky, protože ty často mění minimální podporovanou verzi systému nebo požadavky na oprávnění.
- Kdy se vyplatí volat API přímo místo SDK?
- Přímé volání API dává smysl tam, kde potřebujete jen jeden nebo dva endpointy, kde vám vadí velikost knihovny nebo kde SDK přináší závislosti, jež kolidují se zbytkem projektu. Vlastní tenký klient také dává plnou kontrolu nad tím, jaká data odcházejí, což ocení aplikace s přísnými požadavky na soukromí. Cenou je, že si sami musíte vyřešit obnovu tokenů, opakování požadavků, chování offline a udržování kompatibility při změnách na straně služby.
- Funguje nativní mobilní SDK i v React Native nebo Flutteru?
- Nativní mobilní SDK samo o sobě v React Native ani Flutteru volat nelze, protože jeho rozhraní je v Kotlinu nebo Swiftu. Potřebujete most, tedy plugin, který nativní metody vystaví do JavaScriptu či Dartu. Většina velkých dodavatelů takový oficiální plugin vydává, ale bývá o jednu až dvě verze pozadu za nativní knihovnou a nemusí pokrývat celé rozhraní. Pokud oficiální plugin neexistuje, zbývá napsat vlastní nativní modul, což je práce pro vývojáře znalého obou platforem.
Zdroje
- Software development kit(otevře se v novém okně)
- OWASP Mobile Application Security(otevře se v novém okně)
- Stripe Documentation(otevře se v novém okně)