Co to jest natywny zestaw rozwojowy?

W programowaniu komputerowym i tworzeniu oprogramowania natywny zestaw programistyczny (NDK) jest zwykle abstrakcyjnym interfejsem programowania (API), który zapewnia programistom możliwość korzystania z funkcji lub wykonywania kodu bezpośrednio za pośrednictwem podstawowego systemu operacyjnego. Ta metoda wykonywania programu jest wyraźnie różna od uruchamiania zarządzanego kodu lub interpretowanych programów, w których pisany kod jest wykonywany przez maszynę wirtualną lub interpreter, który działa jako warstwa oprogramowania między podstawowymi funkcjami systemu operacyjnego a kodem napisanym przez użytkownika. Korzystanie z natywnego zestawu programistycznego może być niezbędne w aplikacjach, które wymagają najszybszego możliwego czasu wykonywania i przetwarzania, ponieważ może zapewnić bezpośredni dostęp do sprzętu i bibliotek, których używa system operacyjny. W zależności od rodzaju pisania programu i docelowego systemu operacyjnego, użycie natywnego zestawu programistycznego może w ogóle nie zwiększyć prędkości programu i może sprawić, że kod jest trudny do utrzymania, odczytu i portu do OTJej systemy.

Aplikacje zapisane dla niektórych urządzeń, takie jak smartfony lub użyte interpretowane języki komputerowe, nie są wykonywane bezpośrednio przez podstawowe procesy systemu operacyjnego lub jądra. Zamiast tego kod programu jest wykonywany przez osobny program zwany maszyną wirtualną (VM) lub interpretera. Maszyna wirtualna odczytuje kod, rozszerza i rozwiązuje polecenia oraz interfejsy z jądrem w celu wykonania kodu. Może to być korzystne dla niektórych programistów, ponieważ zapewnia dobrą warstwę abstrakcji dla przenośności i pozostawia wiele złożonych szczegółów, takich jak zarządzanie zasobami i obsługa plików, dla twórców maszyny wirtualnej.

Jednak w niektórych przypadkach maszyna wirtualna może być przeszkodą dla niektórych rodzajów programów. VM może spowolnić wykonywanie lub nie zapewnić dostępu do niektórych funkcji w jądrze hosta. Native Zestaw rozwoju dla docelowego działającego SYSTEM lub urządzenie odsłania funkcje jądra na pisemną aplikację. W zależności od zakresu zestawu może to pozwolić programowi na bezpośredni dostęp do sprzętu, ładowanie własnych bibliotek niestandardowych do jądra lub korzystanie z optymalizacji specyficznych dla systemu.

Native Zestaw rozwoju jest najczęściej używany tylko do krytycznych czasów programu. Mogą to być obliczenia przetwarzania grafiki, wyjście do wejścia i wyjścia pliku. Nie wszystkie programy korzystające z funkcji natywnych lub procedur dostrzegają korzyści prędkości, ponieważ maszyna wirtualna może już optymalizację kodu zarządzanego, aby wynikowy kod maszyny był identyczny, niezależnie od tego, czy używane są funkcje natywne. Ponadto natywny kod wiąże program z konkretną implementacją systemu operacyjnego, a czasem określoną wersją urządzenia, co oznacza, że ​​kod wykorzystujący natywny zestaw programistyczny może nie być łatwo przeniesiony do innych systemów.

INNE JĘZYKI