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

Dans la programmation informatique et le développement logiciel, un kit de développement natif (NDK) est généralement une interface de programmation abstraite (API) qui offre aux développeurs la possibilité d’utiliser des fonctions ou d’exécuter du code directement via le système d’exploitation principal. Cette méthode d'exécution d'un programme diffère nettement de l'exécution de programmes gérés en code manqué ou interprétés, dans lesquels le code écrit est exécuté par une machine virtuelle ou un interpréteur jouant le rôle de couche logicielle entre les fonctions principales du système d'exploitation et le code écrit par l'utilisateur. . L'utilisation d'un kit de développement natif peut être essentielle dans les applications nécessitant des temps d'exécution et de traitement rapides, car il permet un accès direct au matériel et aux bibliothèques utilisées par le système d'exploitation. En fonction du type de programme en cours d’écriture et du système d’exploitation visé, l’utilisation d’un kit de développement natif peut ne pas augmenter la vitesse du programme et créer un code difficile à gérer, à lire et à transférer vers d’autres systèmes.

Les applications écrites pour certains périphériques, tels que les téléphones intelligents, ou utilisant des langages informatiques interprétés, ne sont pas exécutées directement par les processus du système d'exploitation principal ou par le noyau. Au lieu de cela, le code de programme est exécuté par un programme distinct appelé machine virtuelle (VM) ou interpréteur. La machine virtuelle lit le code, développe et résout les commandes et les interfaces avec le noyau pour exécuter le code. Cela peut être avantageux 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, la machine virtuelle peut constituer un obstacle pour certains types de programmes. La machine virtuelle peut ralentir l'exécution ou ne pas permettre l'accès à certaines fonctions du noyau hôte. Un kit de développement natif pour le système d'exploitation ou le périphérique cible 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 d'un programme. Il peut s'agir de calculs de traitement graphique, de sortie vers l'affichage ou de fichier d'entrée et de sortie. Tous les programmes qui utilisent des fonctions ou des routines natives ne verront pas l'avantage de la vitesse, car la machine virtuelle peut déjà optimiser le code géré, de sorte que le code de la machine qui en résulte est identique, que les fonctions natives soient utilisées ou non. 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 périphérique, ce qui signifie qu'un code utilisant un kit de développement natif peut ne pas être facilement porté sur d'autres systèmes.

DANS D'AUTRES LANGUES

Cet article vous a‑t‑il été utile ? Merci pour les commentaires Merci pour les commentaires

Comment pouvons nous aider? Comment pouvons nous aider?