クロスプラットフォーム
クロスプラットフォーム(cross-platform)とは、異なるプラットフォーム(例えばPC/AT互換機とMacintosh、あるいはWindows・macOS・FreeBSD・Linuxなどのように、仕様が全く異なる機械(ハードウェア)またはオペレーティングシステム)上で、同じ仕様のものを動かすことが出来るプログラム(ソフトウェア)のことを言う。同様の呼称にマルチプラットフォームがある。
また、家庭用ゲームにおいては「クロスプラットフォーム」と「マルチプラットフォーム」で意味が異なる場合がある。本項ではこのケースについても後述する。
具体的には次のようなものがある。
Smalltalk 環境
Java アプリケーション
XUL アプリケーション
Presto アプリケーション
実際のところ、いちいち挙げるまでもなく、Unix系の各システムについて、近年しばしば見られるように、ディストリビューション毎などに「別のプラットフォーム」とみなすようであれば(その是非はともかくとして(というより問題のほうが多いが))、無数にあるUnix系のプログラムの相当数が、そのままでは難しくても恐らく少々の手直しで、無数にあるUnix系の他のプラットフォームで動くであろう。そういう意味では、クロスプラットフォームのアプリケーションプログラムの例はいくらでも当然のごとく存在している。
クロスプラットフォームなプログラムは、表面上はどのオペレーティングシステム上でも全くほぼ同じように動作するが、場合によってはオペレーティングシステム側とのやり取りを行う部分は、それぞれのOSの機能に応じて最適化がなされていて、一方のオペレーティングシステムで動いていたものを、そのまま他のオペレーティングシステムに持っていっても動作しない場合がある。そのため一部のプログラムでは、各オペレーティングシステム専用のコードをどのオペレーティングシステム向けのパッケージにも含ませていることがある。また、保存された設定などの一部データは、他のオペレーティングシステムに移植しても正常に動作することがある。例えば、Mozilla Thunderbird のメールデータや設定などのプロファイルを別のプラットフォームへ持っていけば、新たなプラットフォーム上で引き続き利用できる。
Java の実行環境は Windowsや macOS、Linux や UNIX、携帯電話などに存在するため、Java バイトコードできたアプリケーションはこれらのプラットフォーム上で同じように利用できる。
モジラ・ファウンデーションがオープンソースで開発しているインターネットアプリケーション群も複数のオペレーティングシステムに提供されている。Mozilla は単なるブラウザやメールクライアントなどのアプリケーションという位置だけではなく、それらアプリケーション上で動作する共通のプログラムを扱える。例としては Firefox の拡張機能(エクステンション、アドオン)にFTPクライアントの機能を持たせる FireFTP というものがある。これを用いれば Firefox からを利用できる。つまり、Firefox がインストールできる異なったOSで、同様の機能のソフトを利用できるということである。
Opera のケースでは、オペレーティングシステム環境に依存せず異なる環境へ移植可能で軽量なプログラムコードを用いているため、デスクトップ環境のみならず、容量の少ない携帯電話や家庭用ゲーム機にもブラウザ機能を移植するケースが存在する。
さらに、ダイナミックHTMLを活用したリッチインターネットアプリケーションが既に広く利用されており、ウェブブラウザもクロスプラットフォーム環境である｡
家庭用ゲーム機におけるクロスプラットフォームという語は、ハードの垣根を越えてゲームなどのコンテンツを楽しむことができるプラットフォーム連携機能のことを指す。異なるハードメーカーの間ではサードパーティーのみで行われているが、ハードメーカーが発売するソフトでもサードパーティー製に遠く及ばないものの、それなりにある。具体的な機能としては、異なるハード間でのプレイを可能にする「クロスプレイ」、異なるハード間でのセーブデータの共有を可能にする「クロスセーブ」、ネットワークを通じてゲームを遠隔操作でプレイする「リモートプレイ」などがある。これらの機能を利用することで、家庭用ゲーム機のプレイヤーとPCのプレイヤーで対戦や協力プレイを楽しんだり、家では据え置き型のゲーム機で遊び、外出先では携帯型のゲーム機でその続きをプレイしたりするなど、より幅広い形でゲームを楽しむことができるようになっている。
また、家庭用ゲーム機におけるマルチプラットフォームという語は汎用コンピューターにおける意味とは異なり、ある一つのソフトウェアを各ハードウェア向けにそれぞれ別々に開発することを意味する場合がほとんどである。家庭用ゲーム機(コンシューマーゲーム)の場合はマルチプラットフォームという語の方が主に用いられる。
こちらは主に欧米で主流となっており、洋ゲーの主要タイトルのほか、キャラクターゲームやシネマゲーム、スポーツゲームはこの手法を利用していることが圧倒的に多い。
日本でこの販売手法を用いるメーカーは1990年代前半までは少数派で、1990年代前半までは基本的には極一部の人気シリーズと、人気アーケードゲームの移植版くらいでしか用いられていなかった。
性能差が比較的少なくなったPlayStationとセガサターンで、1995年から1998年のドリームキャスト発売直前までにかけて積極的に行ったことがあり、大手ゲームメーカーでは、KONAMIやカプコンなどが該当する。
1990年代までは、PlayStationで独占発売した『ファイナルファンタジー7』など、人気シリーズの最新作を独占販売すると、ハードの売上が上がることが多かった。
2001年、当時は児童・少年向けゲームが主体の任天堂からニンテンドーゲームキューブが発売されて以降、性能の劣るPlayStation 2でもサードパーティー製の児童・少年向けゲームが積極的にリリースされるようになり、殆どのタイトルでこの手法が採られていた。代表的かつ作品単位で行われているものとしてはコンパイル→セガの『ぷよぷよ』シリーズが該当し、ほぼ全ての主要タイトルでこの手法が用いられている。
2000年代前半から中盤にかけては、『バイオハザード4』や『テイルズオブシンフォニア』といった人気シリーズ作品が当初はゲームキューブでの独占契約だったものの、売上重視で契約を破棄し、後にPS2に移植されるケースが多かった。
2000年代後半以降はPlayStation 3とXbox 360の双方で大作タイトルが積極的にリリースされており、後にPCも加わり、現在の大作タイトルはこの手法が日本でも一般的となった。2020年代の現在では、以前ではまずあり得なかった「ドラゴンクエストシリーズ」や「ファイナルファンタジーシリーズ」などの作品もマルチプラットフォームとなっている。
囲い込みを至上とした(かつては)家庭用ゲーム以外では、例えば8ビットパソコン時代のパソコンゲームのように、わざわざそのようなご大層な名前で呼んだりすることもなく、普通にあたりまえにあったものである。
メリットとして、ハード間である程度素材を流用できるため、別々にソフトを開発するよりも製作費や時間を抑えられ、より多くの人に買ってもらえる有効な手段である。ただし、ゲーム機の仕様として、インターフェースや表示手段などの動作環境がハードに強く依存しているため、ハードウェア性能が著しく異なる場合、ゲームデザインのレベルから再構成する場合もあり、中には同じ作品でありながら、テーマや世界観以外は全く異なるゲームとして発売されているものも存在する。