Hva er et innfødt utviklingssett?

I dataprogrammering og programvareutvikling er et Native Development Kit (NDK) vanligvis et abstrakt programmeringsgrensesnitt (API) som gir en utvikler muligheten til å bruke funksjoner eller utføre kode direkte gjennom Core Operating System. Denne metoden for å utføre et program er tydelig forskjellig fra å kjøre administrerte kode eller tolket programmer, der koden som er skrevet utføres av en virtuell maskin eller tolk som fungerer som et programvarelag mellom kjernen i operativsystemets funksjoner og den brukerskrevne koden. Bruken av et naturlig utviklingssett kan være avgjørende i applikasjoner som krever raskest mulig utførelses- og behandlingstid, fordi det kan gi direkte tilgang til maskinvare og biblioteker operativsystemet bruker. Avhengig av hvilken type program som skrives og måloperativsystemet, kan bruken av et naturlig utviklingssett ikke øke programhastigheten i det hele tatt, og kan lage kode som er vanskelig å vedlikeholde, lese og port til OThennes systemer.

applikasjoner som er skrevet for noen enheter, for eksempel smarttelefoner, eller bruker tolkede dataspråk, blir ikke utført direkte av kjernedriftssystemprosessene, eller kjernen. I stedet blir programkoden utført av et eget program kjent som en virtuell maskin (VM), eller tolk. Den virtuelle maskinen leser koden, utvider og løser kommandoer og grensesnitt med kjernen for å utføre koden. Dette kan være fordelaktig for noen utviklere, fordi det gir et godt lag med abstraksjon for portabilitet og etterlater mange komplekse detaljer, for eksempel ressursstyring og filhåndtering, til skaperne av den virtuelle maskinen.

I noen tilfeller kan imidlertid den virtuelle maskinen være til hinder for noen typer programmer. VM kan bremse utførelsen eller ikke gi tilgang til noen funksjoner i vertskjernen. Et innfødt utviklingssett for målet som driver SYSTEM eller enhet utsetter kjernenes funksjoner for applikasjonen som blir skrevet. Avhengig av omfanget av settet, kan dette tillate et program å få tilgang til maskinvare direkte, laste sine egne tilpassede biblioteker i kjernen, eller bruke systemspesifikke optimaliseringer.

Et naturlig utviklingssett brukes ofte bare for tidskritiske deler av et program. Dette kan være beregninger av grafikkbehandling, utdata til displayet eller filinngang og utdata. Ikke alle programmer som bruker innfødte funksjoner eller rutiner vil se en hastighetsfordel, fordi den virtuelle maskinen allerede kan gjøre optimaliseringer til den administrerte koden, slik at den resulterende maskinkoden er identisk, uavhengig av om native funksjoner brukes. I tillegg binder Native Code et program til en spesifikk implementering av et operativsystem og noen ganger en spesifikk versjon av en enhet, noe som betyr at koden som bruker et naturlig utviklingssett kanskje ikke lett porteres til andre systemer.

ANDRE SPRÅK