What is a set of native development?
In computer programming and software development, the native development set (NDK) is usually an abstract programming interface (API) providing developers the ability to use functions or perform the code directly through the basic operating system. This method of implementation of the program differs significantly from the triggered code or interpreted programs in which the code is written by a virtual computer or interpreter that acts as a software layer between the basic operating system functions and a user -written code. The use of a native development set may be necessary in applications that require the fastest possible time of implementation and processing as it can provide direct access to hardware and libraries that the operating system uses. Depending on the type of program writing and the target operating system, the use of the native development kit may not increase the speed of the program at all and could make it difficult to maintain, read and furnish systems.
applications that are written for some devices such as smartphones or the use of interpreted computer languages are not directly performed by the processes of the basic operating system or core. Instead, the program code is performed by a separate program known as a virtual machine (VM) or an interpreter. The virtual machine reads the code, expands and solves commands and interfaces with a core for code design. This may be beneficial for some developers because it provides a good layer of abstraction for portability and leaves many complex details such as management of files and file processing, virtual computer creators.
In some cases, however, the virtual machine may be an obstacle to some types of programs. VM may slow the design or do not provide access to some functions in the host core. The native development kit for the target of the operating system or device will issue a kernel function written application. INDepending on the range of the set, this can allow the program to access hardware, load your own library into the core, or use optimization specific to the system.
The native developmental set is most often used only for the time -critical parts of the program. These can be calculations of graphics processing, output to input and output to the display or file input. Not all programs that use native functions or routines will see a speed advantage, as a virtual machine can already optimize the managed code, so the resulting machine code is identical, regardless of whether native functions are used. In addition, the native code connects the program to a specific implementation of the operating system and sometimes a specific version of the device, which means that the code using a native development kit may not be easily transferred to other systems.