ネイティブとは、通信層や変換層を介さずに、基盤となるテクノロジーで直接動作するコンピューティング システムを指します。
ネイティブソフトウェアは、互換性のある命令セットを実装したプロセッサによって直接実行されるように構築されています。[1]あるプラットフォームでネイティブに実行されるプログラムは、エミュレータが利用可能な場合はエミュレータを介して別のプラットフォームでも実行できますが、通常、実行時の速度が大幅に低下します。[2]たとえば、ゲームボーイ(通常はカートリッジとして配布されます)のゲームは、通常、他のコンピュータプラットフォームとの互換性が比較的低いゲームボーイでネイティブに実行されます。[3]このようなゲームを別のプロセッサで実行するには、ゲームボーイのハードウェアをエミュレートするソフトウェアが必要です。[4]
クロスプラットフォーム ソフトウェアは複数のプロセッサ上で実行できますが、異なるターゲット システム用に再構築する必要がある可能性があります。
ネイティブアプリケーションプログラミングインターフェース(API)は、基盤となるテクノロジーへの直接アクセスを提供します。例えば、Windows ネイティブAPIはWindows NTカーネル固有のアプリケーションプログラミングインターフェースであり、より汎用的なWindows APIでは直接アクセスできないカーネル機能へのアクセスを提供します。
ネイティブ仮想マシン(VM)は、仮想化なし、または最下層の仮想化を施さずに、ハードウェア上で直接実行されます。例えば、複数のレベルの仮想化において、ハードウェアを直接制御する最下層のオペレーティングシステムは「ネイティブVM」と呼ばれます。
データに適用されるネイティブデータ形式または通信プロトコルは、最大限の一貫性と最小限の追加コンポーネントで、 特定のコンピューター ハードウェアまたはソフトウェアによってサポートされるものです。
例えば、EGAおよびVGAビデオアダプタはコードページ437をネイティブでサポートしています。これは他のコードページのサポートを妨げるものではありませんが、フォントのアップロードまたはグラフィックモードの使用が必要になります。
クラウド ネイティブとは、クラウド コンピューティング環境でアプリケーションを構築、展開、管理するアプローチを指し、クラウドベースのプラットフォームで実行するように最適化されたソフトウェアを指します。