Skip to main content

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 er skrevet og måloperativsystemet, kan det hende at bruken av et naturlig utviklingssett ikke øker programhastigheten i det hele tatt, og kan lage kode som er vanskelig å vedlikeholde, lese og port til andre systemer.er skrevet for noen enheter, for eksempel smarttelefoner, eller bruker tolket 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, men den virtuelleMaskin kan være til hinder for noen typer programmer.VM kan bremse utførelsen eller ikke gi tilgang til noen funksjoner i vertskjernen.Et naturlig utviklingssett for måloperativsystemet eller enheten 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 delerav 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 innfødt utviklingssett kanskje ikke lett porteres til andre systemer.