SDK, což znamená Software Development Kit (Sada vývojových nástrojů), je soubor softwarových nástrojů, knihoven, dokumentace a zdrojových kódů, které umožňují vývojářům vytvářet aplikace nebo rozšíření pro konkrétní platformu, operační systém, programovací jazyk či hardware.
Proč je SDK důležité pro vývojáře?
Díky předem vytvořeným nástrojům a zdrojům, které urychlují vývojový proces a snižují potřebu opakovaného vytváření funkcí od základu, mohou programátoři rychleji a efektivněji vytvářet aplikace nebo rozšiřovat funkce existujícího softwaru. Vývojáři je využívají k usnadnění vývoje softwaru a zajištění kompatibility s danou platformou nebo zařízením.
Typy SDK a jejich využití
SDK jsou dostupné pro různé platformy a technologie, například pro mobilní aplikace (Android SDK pro Android, iOS SDK pro iOS) či webové vývojové platformy (například JavaScript SDK pro web).
Příklad: .NET SDK
Sada .NET SDK je sada knihoven a nástrojů, které vývojáři používají k vytváření aplikací a knihoven .NET. Stejně jako u všech nástrojů je prvním krokem instalace nástrojů na vašem počítači.
Instalace .NET SDK
Sada SDK se distribuuje pomocí nativního instalačního mechanismu jednotlivých podporovaných platforem, jako jsou balíčky DEB v sadě Ubuntu nebo MSI ve Windows. Tyto instalační programy nainstalují a nastaví prostředí podle potřeby, aby uživatel používal sadu SDK hned po instalaci. Vyžadují však také oprávnění správce na počítači.
Instalace pomocí skriptů
Instalace skriptů na druhou stranu nevyžaduje oprávnění správce. Nenainstalují však na počítač žádné požadavky; musíte nainstalovat všechny požadavky ručně. Skripty jsou určené hlavně pro nastavení sestavovacích serverů nebo pro instalaci nástrojů bez administrátorských oprávnění. Další informace najdete v článku s referenčními informacemi o instalačním skriptu.
Ve výchozím nastavení se sada SDK instaluje souběžným způsobem (SxS), což znamená, že na jednom počítači může existovat více verzí.
Bezpečnostní aspekty .NET SDK
Sada .NET SDK vyhledá a spustí různé nástroje, které jsou dodávány jako samostatné spustitelné binární soubory v sadě SDK. Ve většině případů dokáže sada SDK určit úplnou cestu ke spustitelnému souboru. Existují však výjimky, kdy sada SDK nemůže určit cestu a spoléhá na uživatelský vstup. Je možné, že uživatel může poskytnout vstup, který způsobí, že sada .NET SDK spustí škodlivý software. Z tohoto důvodu byste neměli důvěřovat žádným úložišťm s binárními soubory, které odpovídají konkrétním názvům souborů v umístění instalace sady SDK, například msbuild.exe.
Příklad: Mobilní podpisové SDK pro občanský průkaz
Občanský průkaz s čipem může obsahovat kvalifikované certifikáty s příslušnými kryptografickými klíči. Elektronické podpisy pomocí občanského průkazu lze vytvářet nejen na PC, ale také na mobilním telefonu.
Funkce a dostupnost
Mobilní podpisové SDK je určeno pro aplikace třetích stran a zabezpečuje přístup k podpisovým funkcím občanského průkazu. SDK je navrženo jako modulární, tudíž každá jeho funkce je zaručena jednou komponentou. Pro podporu konkrétní čtečky je nutné použít ovladače dodávané výrobcem čtečky. Veškerá dokumentace, ukázkové aplikace i SDK samotné jsou dostupné na speciálních stránkách githubu zřízených Ministerstvem vnitra České republiky.
Přehled metod instalace SDK
Následující tabulka shrnuje hlavní rozdíly mezi nativními instalačními programy a skriptovanými instalacemi SDK.
| Vlastnost | Nativní instalační programy | Instalace skriptem |
|---|---|---|
| Vyžaduje oprávnění správce | Ano | Ne |
| Automatické nastavení prostředí | Ano | Ne (nutno ručně) |
| Primární použití | Vývojové počítače | Sestavovací servery, bez admin oprávnění |
| Podpora platformy | Specifické balíčky (DEB, MSI) | Univerzálnější |
