Skip to main content

Was ist ein natives Entwicklungskit?

In der Computerprogrammierung und Softwareentwicklung ist ein natives Entwicklungskit (NDK) normalerweise eine abstrakte Programmierschnittstelle (API), die einem Entwickler die Möglichkeit bietet, Funktionen zu verwenden oder Code direkt über das Kernbetriebssystem auszuführen.Diese Methode zur Ausführung eines Programms unterscheidet sich deutlich vom Ausführen von verwalteten Code oder interpretierten Programmen, bei dem der Code, der geschrieben wird.Die Verwendung eines nativen Entwicklungskits kann für Anwendungen von wesentlicher Bedeutung sein, die die schnellstmöglichen Ausführungs- und Verarbeitungszeiten erfordern, da es direkten Zugriff auf Hardware und Bibliotheken ermöglicht, das das Betriebssystem verwendet.Abhängig von der Art des geschriebenen Programms und des Zielbetriebssystems erhöht die Verwendung eines nativen Entwicklungskits möglicherweise überhaupt nicht die Programmgeschwindigkeit und kann Code erstellen, der schwierig zu warten, zu lesen und auf andere Systeme zu portieren ist.werden für einige Geräte wie Smartphones geschrieben oder interpretierte Computersprachen verwenden, die nicht direkt von den Kernbetriebssystemprozessen oder dem Kernel ausgeführt werden.Stattdessen wird der Programmcode von einem separaten Programm ausgeführt, das als Virtual Machine (VM) oder Interpreter bezeichnet wird.Die virtuelle Maschine liest den Code, erweitert und löst Befehle und Schnittstellen mit dem Kernel, um den Code auszuführen.Dies kann für einige Entwickler von Vorteil sein, da es den Erstellern der virtuellen Maschine in einigen Fällen eine gute Abstraktionsebene für die Tragabilität bietet und viele komplexe Details wie Ressourcenverwaltung und Dateibehandlung für die Ersteller der virtuellen Maschine hinterlässt.Maschine kann ein Hindernis für einige Arten von Programmen sein.Die VM kann die Ausführung verlangsamen oder keinen Zugriff auf einige Funktionen innerhalb des Host -Kernels gewähren.Ein natives Entwicklungs -Kit für das Zielbetriebssystem oder Gerät setzt die Funktionen des Kernels der geschriebenen Anwendung aus.Abhängig vom Ausmaß des Kits kann ein Programm direkt auf Hardware zugreifen, seine eigenen benutzerdefinierten Bibliotheken in den Kernel laden oder systemspezifische Optimierungen verwenden.

Ein natives Entwicklungs-Kit wird am häufigsten nur für zeitkritische Portionen verwendeteines Programms.Dies können Grafikverarbeitungsberechnungen, Ausgaben für die Anzeige- oder Dateieingabe und Ausgabe sein.Nicht alle Programme, die native Funktionen oder Routinen verwenden, werden einen Geschwindigkeitsvorteil erkennen, da die virtuelle Maschine möglicherweise bereits Optimierungen für den verwalteten Code vornimmt, sodass der resultierende Maschinencode identisch ist, unabhängig davon, ob native Funktionen verwendet werden.Darüber hinaus bindet native Code ein Programm mit einer spezifischen Implementierung eines Betriebssystems und manchmal einer bestimmten Version eines Geräts, was bedeutet, dass der Code, der ein natives Entwicklungskit verwendet, möglicherweise nicht einfach auf andere Systeme portiert wird.