Skip to main content

Wat is een native ontwikkelingskit?

In computerprogrammering en softwareontwikkeling is een native ontwikkelingskit (NDK) meestal een abstracte programmeerinterface (API) die een ontwikkelaar biedt met de mogelijkheid om functies te gebruiken of code rechtstreeks via het kernbesturingssysteem uit te voeren.Deze methode voor het uitvoeren van een programma verschilt duidelijk van het uitvoeren van beheerde code of geïnterpreteerde programma's, waarin de geschreven code wordt uitgevoerd door een virtuele machine of tolk die fungeert als een softwarelaag tussen de kernbesturingssysteemfuncties en de door de gebruiker geschreven code.Het gebruik van een native ontwikkelingskit kan essentieel zijn in applicaties die de snelst mogelijke uitvoerings- en verwerkingstijden vereisen, omdat het directe toegang kan bieden tot hardware en bibliotheken die het besturingssysteem gebruikt.Afhankelijk van het type programma dat wordt geschreven en het beoogde besturingssysteem, kan het gebruik van een native ontwikkelingskit de programmasnelheid misschien helemaal niet verhogen en kan ze de code maken die moeilijk te onderhouden, leest en poort naar andere systemen.

-toepassingen die datzijn geschreven voor sommige apparaten, zoals smartphones, of gebruik geïnterpreteerde computertalen worden niet rechtstreeks uitgevoerd door de kernbesturingssysteemprocessen of de kernel.In plaats daarvan wordt de programmacode uitgevoerd door een afzonderlijk programma dat bekend staat als een virtuele machine (VM) of tolk.De virtuele machine leest de code, breidt en lost opdrachten uit en lost interfaces met de kernel om de code uit te voeren.Dit kan voor sommige ontwikkelaars gunstig zijn, omdat het een goede abstractielaag biedt voor draagbaarheid en veel complexe details, zoals resource management en bestandsbehandeling, overlaat aan de makers van de virtuele machine.

In sommige gevallen echter de virtueleMachine kan een belemmering zijn voor sommige soorten programma's.De VM kan de uitvoering vertragen of geen toegang bieden tot sommige functies binnen de host -kernel.Een native ontwikkelingskit voor het doelbesturingssysteem of apparaat stelt de functies van de kernel bloot aan de toepassing die wordt geschreven.Afhankelijk van de omvang van de kit kan dit een programma rechtstreeks toegang krijgen tot hardware, zijn eigen aangepaste bibliotheken in de kernel laden of systeemspecifieke optimalisaties gebruiken.

Een native ontwikkelingskit wordt meestal alleen gebruikt voor tijdkritische delenvan een programma.Dit kunnen berekeningen van grafische verwerking zijn, uitvoer naar het display- of bestandsinvoer en uitvoer.Niet alle programma's die native functies of routines gebruiken, zullen een snelheidsvoordeel zien, omdat de virtuele machine de beheerde code al mogelijk optimaliseert, zodat de resulterende machinecode identiek is, ongeacht of native functies worden gebruikt.Bovendien verbindt native code een programma met een specifieke implementatie van een besturingssysteem en soms een specifieke versie van een apparaat, wat betekent dat code met behulp van een native ontwikkelingskit mogelijk niet eenvoudig naar andere systemen wordt overgedragen.