web-dev-qa-db-fra.com

Qu'est-ce que cela signifie pour que les logiciels fonctionnent de manière nativement?

Je me demandais ce que cela signifie pour que les logiciels fonctionnent de manière native. Quel est exactement un tel logiciel et comment est-il différent du logiciel qui ne fonctionne pas de manière nativement? Comment puis-je dire si un morceau de logiciel donné fonctionnera de manière natale sur mon ordinateur? Existe-t-il probablement un logiciel déjà sur mon ordinateur qui fonctionne de manière natale?

27
Throsby

Le code natif est généralement utilisé comme opposé du code indépendant de la plate-forme. Si vous exécutez un logiciel natif, vous exécutez un binaire compilé et non, par exemple, un script de plate-forme-indépendant tel que JavaScript ou Java bytecode. Compilé C ou compilé C++ sont les bons exemples de code natif.

4
Niklas

Pour mettre de plus en plus de termes abstraits, c'est comme laissant quelqu'un d'autre votre confiance exécutant un programme dans une langue différente.

  • Natif signifie que le système d'exploitation utilisera le dialecte le plus rapide et le plus simple qu'il connaisse, binaire.

    Avantages: Fast, grande disponibilité de la langue pouvant se parler car elle est en métal. Inconvénients: La sécurité, l'API complexe, les capacités restreintes aux systèmes d'exploitation, également des compilateurs sont difficiles à faire, car un programme, une fois compilé, est libéré dans la nature.

  • Non natif, signifie que votre code ne sera pas exécuté directement par le système d'exploitation. Il peut être exécuté de nombreuses manières différentes, les principales étant interprétées et exécutant une version byTecode de votre programme dans une machine virtuelle.

    Avantages: L'API a presque jamais changé, il est donc beaucoup plus facile pour les programmeurs de travailler (au moins quand ils s'en tiennent à cette langue particulière). Inconvénients: performance (c'est souvent une diminution légère, elle peut rarement devenir un problème), et tout le monde n'utilisera pas cette langue particulière, cela peut également être un problème d'adopter cette technologie. La sécurité peut également être un problème, mais c'est beaucoup plus sous-contrôle. En quelque sorte.

2
jokoon