Skip to main content

Qu'est-ce qu'un kit de développement natif?

Dans la programmation informatique et le développement de logiciels, un kit de développement natif (NDK) est généralement une interface de programmation abstraite (API) qui offre à un développeur la possibilité d'utiliser des fonctions ou d'exécuter du code directement via le système d'exploitation central.Cette méthode d'exécution d'un programme est nettement différente de l'exécution du code géré ou des programmes interprétés, dans lesquels le code écrit est exécuté par une machine virtuelle ou un interprète qui agit comme une couche logicielle entre les fonctions du système d'exploitation de base et le code rédigé par l'utilisateur.L'utilisation d'un kit de développement natif peut être essentielle dans les applications qui nécessitent les temps d'exécution et de traitement les plus rapides possibles, car il peut fournir un accès direct au matériel et aux bibliothèques que le système d'exploitation utilise.Selon le type de programme écrit et le système d'exploitation cible, l'utilisation d'un kit de développement natif peut ne pas augmenter du tout la vitesse du programme, et pourrait rendre le code difficile à maintenir, lire et porter sur d'autres systèmes.

applications quisont écrits pour certains appareils, tels que les téléphones intelligents, ou l'utilisation des langages informatiques interprétés ne sont pas exécutés directement par les processus de système d'exploitation de base ou le noyau.Au lieu de cela, le code du programme est exécuté par un programme distinct connu sous le nom de machine virtuelle (VM) ou interprète.La machine virtuelle lit le code, étend et résout les commandes et interface avec le noyau pour exécuter le code.Cela peut être bénéfique pour certains développeurs, car il fournit une bonne couche d'abstraction pour la portabilité et laisse de nombreux détails complexes, tels que la gestion des ressources et la gestion des fichiers, aux créateurs de la machine virtuelle.

Dans certains cas, cependant, le virtuel du virtuelLa machine peut être un obstacle à certains types de programmes.La machine virtuelle peut ralentir l'exécution ou ne pas donner accès à certaines fonctions dans le noyau hôte.Un kit de développement natif pour le système d'exploitation cible ou l'appareil expose les fonctions du noyau à l'application en cours d'écriture.Selon l'étendue du kit, cela peut permettre à un programme d'accéder directement au matériel, de charger ses propres bibliothèques personnalisées dans le noyau ou d'utiliser des optimisations spécifiques au système.

Un kit de développement natif est le plus souvent utilisé uniquement pour les parties critiques dans le tempsd'un programme.Il peut s'agir de calculs de traitement graphique, de sortie à l'affichage ou à l'entrée et à la sortie de fichier.Tous les programmes qui utilisent des fonctions ou des routines natifs ne verront pas un avantage de vitesse, car la machine virtuelle peut déjà faire des optimisations au code géré afin que le code machine résultant soit identique, que les fonctions natives soient utilisées.De plus, le code natif lie un programme à une implémentation spécifique d'un système d'exploitation et parfois une version spécifique d'un appareil, ce qui signifie que le code utilisant un kit de développement natif peut ne pas être facilement porté vers d'autres systèmes.