コンピューティング・プラットフォーム、デジタル・プラットフォーム[ 1 ]、またはソフトウェア・プラットフォームは、ソフトウェアが実行されるインフラストラクチャです。コンピューティング・プラットフォームの個々のコンポーネントは抽象化レイヤーによって難読化される場合がありますが、必要なコンポーネントの総和がコンピューティング・プラットフォームを構成します。
場合によっては、特定のソフトウェアに最も関連性の高いレイヤー自体がコンピューティング プラットフォームと呼ばれることがあります。これは、コミュニケーションを容易にするためであり、その属性の 1 つだけを使用して全体を参照します (換喩を使用)。
例えば、単一のコンピュータシステムでは、これはコンピュータのアーキテクチャ、オペレーティングシステム(OS)、およびランタイムライブラリになります。[ 2 ]アプリケーションプログラムやコンピュータビデオゲームの場合、最も重要な層はオペレーティングシステムであるため、それ自体をプラットフォームと呼ぶことができます(したがって、この文脈では、複数のOSで実行できるソフトウェアに対してクロスプラットフォームという用語が使用されます)。オフロード処理の場合などのマルチコンピュータシステムでは、ホストコンピュータのハードウェア、オペレーティングシステム(OS)、ランタイムライブラリに加えて、アプリケーションプログラミングインターフェイスまたはWebブラウザを介してアクセスされる処理に利用される他のコンピュータが 含まれます。プログラムコードの実行に必要なコンポーネントである限り、それはコンピューティングプラットフォームの一部です。
コンポーネント
[編集]プラットフォームには以下も含まれる場合があります:
- 小規模な組み込みシステムの場合は、ハードウェアのみを使用します。組み込みシステムは、OS なしでハードウェアに直接アクセスできます。これは、「ベアメタル」上で実行されると呼ばれます。
- デバイス ドライバーとファームウェア。
- ウェブベースのソフトウェアの場合のブラウザ。ブラウザ自体はハードウェアとOSのプラットフォーム上で動作しますが、これはブラウザ内で動作するソフトウェアとは関係ありません。[ 3 ]
- スプレッドシートやワードプロセッサなどのアプリケーションで、Excelマクロなどのアプリケーション固有のスクリプト言語で記述されたソフトウェアをホストします。これは、 Microsoft Officeスイートをプラットフォームとして本格的なアプリケーションを作成することにも拡張できます。 [ 4 ]
- すぐに使える機能を提供するソフトウェア フレームワーク。
- クラウドコンピューティングとPaaS(サービスとしてのプラットフォーム)。ソフトウェアフレームワークの概念を拡張したもので、アプリケーション開発者は、開発者ではなくプロバイダーがホストするコンポーネントからソフトウェアを構築し、インターネット通信によってそれらを相互にリンクすることができます。[ 5 ]ソーシャルネットワーキングサイトのTwitterとFacebookも開発プラットフォームと見なされています。[ 6 ] [ 7 ]
- Java仮想マシンや.NET CLRなどのアプリケーション仮想マシン(VM)。アプリケーションはバイトコードと呼ばれるマシンコードに似た形式にコンパイルされ、VMによって実行されます。
- 仮想化されたハードウェア、OS、ソフトウェア、ストレージを含む完全なシステムの仮想化バージョン。これにより、例えば、物理的にはMacであるシステム上で一般的なWindowsプログラムを実行できるようになります。
一部のアーキテクチャは複数のレイヤーを持ち、各レイヤーは上位レイヤーのプラットフォームとして機能します。一般的に、コンポーネントは直下のレイヤーにのみ適応させる必要があります。例えば、JavaプログラムはJava仮想マシン(JVM)と関連ライブラリをプラットフォームとして使用するように記述する必要がありますが、Windows、Linux、またはMacintosh OSプラットフォームで動作するように適応させる必要はありません。ただし、アプリケーションの下位レイヤーであるJVMは、各OSごとに個別に構築する必要があります。[ 8 ]
オペレーティングシステムの例
[編集]デスクトップ、ラップトップ、サーバー
[編集]携帯
[編集]
ソフトウェアの例
[編集]- ショックウェーブ
- ワイヤレス向けバイナリ ランタイム環境(BREW)
- ココア
- ココアタッチ
- 。ネット
- フラッシュ
- ジャワ
- ライブコード
- マイクロソフト XNA
- Mozilla Prism、XUL、XULRunner
- Mozilla WebExtensions APIはGoogle ChromeのAPIをモデルにしています。 [ 9 ] [ 10 ] [ 11 ]そのため、Firefoxの拡張機能はChromeの拡張機能とほぼ互換性があります。[ 12 ]
- ウェブプラットフォーム
- Oracleデータベース
- クォート
- SAP ネットウィーバー
- スマートフェイス
- ユニバーサル Windows プラットフォーム
- HMSコア
- 倉結
- アークTS
- アークUI
- ファーウェイ フェニックスエンジン
- フェニックスエンジンレイショップ
ハードウェアの例
[編集]- ARMアーキテクチャベースのデバイス
- Raspberry PiまたはGumstixのフル機能小型コンピューター
- LinuxやBSD系などのUnix系システムを搭載したARMサーバー
- さまざまなメーカーのChromeBook
- IBM PC互換機
- IBM System pおよびIBM Power Systemsコンピュータ
- IBM z/Architectureメインフレーム
- S-100バスをベースにしたCP/Mコンピュータは、おそらく最も初期のマイクロコンピュータプラットフォームである。
- ビデオゲーム機、あらゆる種類の(PlayStation、Xbox、Nintendo)
- 3DO Interactive Multiplayerはメーカーにライセンス供与された
- Apple Pippin、ビデオゲームコンソール開発用のマルチメディアプレーヤープラットフォーム
- スーパーコンピュータのアーキテクチャ
参照
[編集]参考文献
[編集]- ^ 「プラットフォームについて語るときに私が語ること」 martinfowler.com 2018年3月18日閲覧。
- ^ 「プラットフォーム」。
- ^ Andrew Binstock (2012年7月2日). 「Googleによるブラウザをプラットフォームとして再定義」 . Dr. Dobbs .
- ^ Chip Wilson、Alan Josephson。「ソフトウェア+サービスのためのプラットフォームとしてのMicrosoft Office」 Microsoft Developer Network。
- ^ 「PAASとは?」Interoute . 2015年10月22日時点のオリジナルよりアーカイブ。 2014年1月28日閲覧。
- ^ 「Twitter 開発プラットフォーム - Twitter 開発者」。
- ^ 「Facebook 開発プラットフォームが起動...」Facebook。2006年 8 月 15 日。
- ^ 「Javaバイトコードにおけるプラットフォーム独立性」Stack Overflow 。
- ^ 「Firefoxアドオン開発の将来」 Mozillaアドオンブログ2018年12月15日閲覧。
- ^ 「互換性機能の今後の変更」。Mozilla Add-ons Blog 。2018年12月15日閲覧。
- ^ 「Firefox 57でレガシー拡張機能を有効にする方法 - gHacks Tech News」 www.ghacks.net 2017年8月12日 2018年12月14日閲覧。
- ^ 「Google Chrome拡張機能の移植」 Mozilla . 2018年12月30日閲覧。
外部リンク
[編集]
ウィキメディア・コモンズのコンピューティングプラットフォーム関連メディア- Ryan Sarver: プラットフォームとは何ですか?