O que é um kit de desenvolvimento nativo?

Na programação de computadores e desenvolvimento de software, um kit de desenvolvimento nativo (NDK) geralmente é uma interface de programação abstrata (API) que fornece a um desenvolvedor a capacidade de usar funções ou executar código diretamente através do sistema operacional principal. Esse método de execução de um programa é distintamente diferente do código gerenciado ou dos programas interpretados, no qual o código escrito é executado por uma máquina ou intérprete virtual que atua como uma camada de software entre as funções do sistema operacional principal e o código escrito por usuário. O uso de um kit de desenvolvimento nativo pode ser essencial em aplicativos que requerem os tempos de execução e processamento mais rápidos possíveis, pois podem fornecer acesso direto a hardware e bibliotecas que o sistema operacional usa. Dependendo do tipo de programa que está sendo escrito e do sistema operacional -alvo, o uso de um kit de desenvolvimento nativo pode não aumentar a velocidade do programa e pode tornar o código difícil de manter, ler e portar para OTseus sistemas.

Aplicativos gravados para alguns dispositivos, como smartphones, ou uso de linguagens de computador interpretadas não são executadas diretamente pelos processos do sistema operacional principal ou pelo kernel. Em vez disso, o código do programa é executado por um programa separado conhecido como máquina virtual (VM) ou intérprete. A máquina virtual lê o código, expande e resolve comandos e interfina com o kernel para executar o código. Isso pode ser benéfico para alguns desenvolvedores, porque fornece uma boa camada de abstração para a portabilidade e deixa muitos detalhes complexos, como gerenciamento de recursos e manuseio de arquivos, para os criadores da máquina virtual.

Em alguns casos, no entanto, a máquina virtual pode ser um obstáculo a alguns tipos de programas. A VM pode retardar a execução ou não fornecer acesso a algumas funções no kernel do host. Um kit de desenvolvimento nativo para o alvo operando sySTEM ou dispositivo expõe as funções do kernel ao aplicativo que está sendo escrito. Dependendo da extensão do kit, isso pode permitir que um programa acesse diretamente o hardware, carregue suas próprias bibliotecas personalizadas no kernel ou use otimizações específicas do sistema.

Um kit de desenvolvimento nativo é mais frequentemente usado apenas para partes críticas de um programa. Estes podem ser cálculos de processamento de gráficos, saída para a exibição ou entrada de arquivo e saída. Nem todos os programas que usam funções ou rotinas nativas verão um benefício de velocidade, porque a máquina virtual já pode fazer otimizações com o código gerenciado, de modo que o código da máquina resultante é idêntico, independentemente de as funções nativas serem usadas. Além disso, o código nativo vincula um programa a uma implementação específica de um sistema operacional e, às vezes, uma versão específica de um dispositivo, o que significa que o código usando um kit de desenvolvimento nativo pode não ser facilmente portado para outros sistemas.

OUTRAS LÍNGUAS

Este artigo foi útil? Obrigado pelo feedback Obrigado pelo feedback

Como podemos ajudar? Como podemos ajudar?