Co je to sada nativního vývoje?
V počítačovém programování a vývoji softwaru je nativní vývojová sada (NDK) obvykle abstraktní programovací rozhraní (API), které poskytuje vývojáři schopnost používat funkce nebo provádět kód přímo prostřednictvím základního operačního systému. Tato metoda provádění programu se výrazně liší od spuštěného spravovaného kódu nebo interpretovaných programů, ve kterých je napsán kód, který je napsán virtuálním počítačem nebo tlumočníkem, který funguje jako softwarová vrstva mezi funkcemi základního operačního systému a uživatelsky psaným kódem. Použití sady nativního vývoje může být nezbytné v aplikacích, které vyžadují nejrychlejší možné doby provádění 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 psaní programu a cílovém operačním systému nemusí použití nativního vývojového soupravy vůbec zvýšit rychlost programu a mohlo by ztěžovat kód, který je obtížné udržovat, číst a podat do OTjejí systémy.
Aplikace, které jsou psány pro některá zařízení, jako jsou chytré telefony nebo používání interpretovaných počítačových jazyků, nejsou prováděny přímo procesy základního operačního systému nebo jádrem. Místo toho je programový kód prováděn samostatným programem známým jako virtuální stroj (VM) nebo tlumočník. Virtuální stroj čte kód, rozšiřuje a řeší příkazy a rozhraní s jádrem pro provedení kódu. To může být pro některé vývojáře prospěšné, protože to poskytuje dobrou vrstvu abstrakce pro přenositelnost a ponechává mnoho složitých detailů, jako je správa zdrojů a zpracování souborů, tvůrcům virtuálního počítače.
V některých případech však může být virtuální stroj překážkou některých typů programů. VM může zpomalit provedení nebo neposkytnout přístup k některým funkcím v hostitelském jádru. Nativní vývojová sada pro cíl provozní SYSTEM nebo zařízení vystaví funkce jádra napsané aplikaci. V závislosti na rozsahu soupravy to může umožnit programu přímý přístup k hardwaru, načíst si vlastní knihovny do jádra nebo použít optimalizace specifické pro systém.
Nativní vývojová sada se nejčastěji používá pouze pro časově kritické části programu. Mohou to být výpočty zpracování grafiky, výstup do vstupu a výstupu na displej nebo vstup souboru. Ne všechny programy, které používají nativní funkce nebo rutiny, uvidí rychlostní výhodu, protože virtuální stroj může již provést optimalizace spravovaného kódu, takže výsledný strojový kód je identické, bez ohledu na to, zda jsou použity nativní funkce. Nativní kód navíc spojuje program na konkrétní implementaci operačního systému a někdy i konkrétní verzi zařízení, což znamená, že kód pomocí nativní vývojové soupravy nemusí být snadno přenesen do jiných systémů.