Co je nativní vývojová sada?
V počítačovém programování a vývoji softwaru je nativní vývojová souprava (NDK) obvykle abstraktní programovací rozhraní (API), které poskytuje vývojáři možnost používat funkce nebo provádět kód přímo prostřednictvím hlavního operačního systému. Tento způsob provádění programu se výrazně liší od spuštění spravovaného kódu nebo interpretovaných programů, ve kterých je zapsaný kód prováděn virtuálním strojem nebo interpretem, který funguje jako softwarová vrstva mezi funkcemi jádra operačního systému a uživatelem psaným kódem . Použití nativního vývojového kitu může být nezbytné v aplikacích, které vyžadují nejrychlejší možné časy provedení a zpracování, protože může poskytnout přímý přístup k hardwaru a knihovnám, které operační systém používá. V závislosti na typu zapisovaného programu a cílovém operačním systému nemusí použití nativní vývojové sady vůbec zvýšit rychlost programu a může způsobit, že je obtížné udržovat, číst a přenášet do jiných systémů kód.
Aplikace, které jsou psány pro některá zařízení, jako jsou chytré telefony, nebo používají interpretované počítačové jazyky, se nevykonávají přímo procesy základního operačního systému nebo jádra. Místo toho je programový kód prováděn samostatným programem známým jako virtuální stroj (VM) nebo interpret. Virtuální stroj čte kód, rozšiřuje a řeší příkazy a rozhraní s jádrem pro provádění kódu. To může být výhodné pro některé vývojáře, protože poskytuje dobrou vrstvu abstrakce pro přenositelnost a ponechává tvůrcům virtuálního stroje mnoho složitých podrobností, jako je správa prostředků a zpracování souborů.
V některých případech však může být virtuální stroj překážkou pro některé typy programů. VM může zpomalit provádění nebo selhat při poskytování přístupu k některým funkcím v hostitelském jádře. Nativní vývojová sada pro cílový operační systém nebo zařízení vystavuje funkce jádra psané aplikaci. V závislosti na rozsahu této sady to může programu umožnit přímý přístup k hardwaru, načtení jeho vlastních knihoven do jádra nebo použití optimalizací specifických pro systém.
Nativní vývojový kit se nejčastěji používá pouze pro časově kritické části programu. Mohou to být výpočty grafického zpracování, výstup na displej nebo vstup a výstup souboru. Ne všechny programy, které používají nativní funkce nebo rutiny, uvidí výhodu rychlosti, protože virtuální stroj může již provádět optimalizaci spravovaného kódu, takže výsledný kód stroje je identický, bez ohledu na to, zda jsou použity nativní funkce. Kromě toho nativní kód váže program ke specifické implementaci operačního systému a někdy ke specifické verzi zařízení, což znamená, že kód používající nativní vývojovou sadu nemusí být snadno přenesen do jiných systémů.