コンピューティングプラットフォーム、デジタルプラットフォーム[ 1 ]、またはソフトウェアプラットフォームは、ソフトウェアが実行されるインフラストラクチャです。コンピューティングプラットフォームの個々のコンポーネントは抽象化のレイヤーの下に隠されている場合がありますが、必要なコンポーネントの総和がコンピューティングプラットフォームを構成します。
特定のソフトウェアにとって最も重要なレイヤーは、コミュニケーションを容易にするために、それ自体がコンピューティング プラットフォームと呼ばれ、その属性の 1 つだけを使用して全体を指す、つまり換喩を使用することがあります。
例えば、単一のコンピュータシステムでは、これはコンピュータのアーキテクチャ、オペレーティングシステム(OS)、およびランタイムライブラリになります。[ 2 ]アプリケーションプログラムやコンピュータビデオゲームの場合、最も重要なレイヤーはオペレーティングシステムなので、それ自体をプラットフォームと呼ぶことができます(この文脈では、複数のOSで実行できるソフトウェアをクロスプラットフォームと呼びます)。処理のオフロードの場合のようなマルチコンピュータシステムでは、ホストコンピュータのハードウェア、オペレーティングシステム(OS)、およびランタイムライブラリに加えて、アプリケーションプログラミングインターフェイスまたはWebブラウザーを介してアクセスされる処理に使用される他のコンピュータ も含まれます。プログラムコードの実行に必要なコンポーネントである限り、それはコンピューティングプラットフォームの一部です。
プラットフォームには以下も含まれる場合があります。
アーキテクチャによっては複数のレイヤーがあり、各レイヤーは上位のレイヤーのプラットフォームとして機能します。一般的に、コンポーネントは直下のレイヤーにのみ適応させる必要があります。たとえば、Java プログラムは Java 仮想マシン (JVM) と関連ライブラリをプラットフォームとして使用するように記述する必要がありますが、Windows、Linux、または Macintosh OS プラットフォームで実行するように適応させる必要はありません。ただし、アプリケーションの下位レイヤーである JVM は、各 OS 用に個別に構築する必要があります。[ 8 ]
