この記事には複数の問題があります。改善
やノートページでの議論にご協力ください。クロスプラットフォーム(英: cross-platform)とは、異なるプラットフォーム(例えばPC/AT互換機とMacintosh、あるいはWindows・macOS・FreeBSD・Linuxなどのように、仕様が全く異なる機械(ハードウェア)またはオペレーティングシステム)上で、同じ仕様のものを動かすことが出来るプログラム(ソフトウェア)のことを言う。同様の呼称にマルチプラットフォーム[注 1]がある。
また、家庭用ゲームにおいては「クロスプラットフォーム」と「マルチプラットフォーム」で意味が異なる場合がある。本項ではこのケースについても後述する。 具体的には次のようなものがある。 実際のところ、いちいち挙げるまでもなく、Unix系の各システムについて、近年しばしば見られるように、ディストリビューション毎などに「別のプラットフォーム」とみなすようであれば(その是非はともかくとして(というより問題のほうが多いが))、無数にあるUnix系のプログラムの相当数が、そのままでは難しくても恐らく少々の手直しで、無数にあるUnix系の他のプラットフォームで動くであろう。そういう意味では、クロスプラットフォームのアプリケーションプログラムの例はいくらでも当然のごとく存在している。 クロスプラットフォームなプログラムは、表面上はどのオペレーティングシステム上でも全くほぼ同じように動作するが、場合によってはオペレーティングシステム側とのやり取りを行う部分は、それぞれのOSの機能に応じて最適化がなされていて、一方のオペレーティングシステムで動いていたものを、そのまま他のオペレーティングシステムに持っていっても動作しない場合がある。そのため一部のプログラムでは、各オペレーティングシステム専用のコードをどのオペレーティングシステム向けのパッケージにも含ませていることがある。また、保存された設定などの一部データは、他のオペレーティングシステムに移植しても正常に動作することがある。例えば、Mozilla Thunderbird のメールデータや設定などのプロファイルを別のプラットフォームへ持っていけば、新たなプラットフォーム上で引き続き利用できる[1]。 Java の実行環境は Windowsや macOS、Linux や UNIX、携帯電話などに存在するため、Java バイトコードできたアプリケーションはこれらのプラットフォーム上で同じように利用できる。 モジラ・ファウンデーションがオープンソースで開発しているインターネットアプリケーション群も複数のオペレーティングシステムに提供されている。Mozilla は単なるブラウザやメールクライアントなどのアプリケーションという位置だけではなく、それらアプリケーション上で動作する共通のプログラムを扱える。例としては Firefox の拡張機能(エクステンション、アドオン)にFTPクライアントの機能を持たせる FireFTP というものがある。これを用いれば Firefox からFTPを利用できる。つまり、Firefox がインストールできる異なったOSで、同様の機能のソフトを利用できるということである。 Opera のケースでは、オペレーティングシステム環境に依存せず異なる環境へ移植可能で軽量なプログラムコードを用いているため、デスクトップ環境のみならず、容量の少ない携帯電話や家庭用ゲーム機にもブラウザ機能を移植するケースが存在する。 さらに、ダイナミックHTMLを活用したリッチインターネットアプリケーションが既に広く利用されており、ウェブブラウザもクロスプラットフォーム環境である。 家庭用ゲーム機におけるクロスプラットフォームという語は、ハードの垣根を越えてゲームなどのコンテンツを楽しむことができるプラットフォーム連携機能のことを指す[2]。異なるハードメーカーの間ではサードパーティーのみで行われているが、ハードメーカーが発売するソフトでもサードパーティー製に遠く及ばないものの、それなりにある。具体的な機能としては、異なるハード間でのプレイを可能にする「クロスプレイ」、異なるハード間でのセーブデータの共有を可能にする「クロスセーブ」、ネットワークを通じてゲームを遠隔操作でプレイする「リモートプレイ」などがある。これらの機能を利用することで、家庭用ゲーム機のプレイヤーとPCのプレイヤーで対戦や協力プレイを楽しんだり、家では据え置き型のゲーム機で遊び、外出先では携帯型のゲーム機でその続きをプレイしたりするなど、より幅広い形でゲームを楽しむことができるようになっている。 また、家庭用ゲーム機におけるマルチプラットフォームという語は汎用コンピューターにおける意味とは異なり、ある一つのソフトウェアを各ハードウェア向けにそれぞれ別々に開発することを意味する場合がほとんどである。家庭用ゲーム機(コンシューマーゲーム)の場合はマルチプラットフォームという語の方が主に用いられる。 こちらは主に欧米で主流となっており、洋ゲーの主要タイトルのほか、キャラクターゲームやシネマゲーム、スポーツゲームはこの手法を利用していることが圧倒的に多い。 日本でこの販売手法を用いるメーカーは1994年までの任天堂ハードが主力の時代までは少数派で、極一部の人気シリーズと、人気の高いアーケードゲームやパソコンゲームの内容を家庭用ゲーム機に移植したタイトルくらいでしか用いられていなかった。この頃はアクレイムジャパンの洋ゲータイトルが積極的だった。 性能差が比較的少なく、1994年の同時期に発売されたPlayStation(12月3日発売)とセガサターン(11月22日発売)で、1995年から1998年のドリームキャスト発売直前までにかけて積極的に行ったことがあり、この傾向は中小規模のゲームメーカーやゲーム事業を本業としないメーカーの作品が主であり、特に『ときめきメモリアル』がメディアミックスに発展する程の社会現象を巻き起こしたのを境に同時多発的に出てきた恋愛シミュレーションなど、殆どのギャルゲータイトルはこの手法だった。大手ゲームメーカーでも、KONAMIやカプコンなどがこれに該当していた。 この時代にマルチプラットフォームを破棄した例もあり、『エネミー・ゼロ』がマルチプラットフォームからSS単独に変更された例が存在する。これは、主要開発者の飯野賢治がSCE主催のPS関連イベントで発言されたものであり、以前関わった『Dの食卓』(原作は3DO専用ソフト)のPS移植版がSS移植版に比べて売上が大きく劣った[注 2]ことへの不満による報復措置だった。
クロスプラットフォームのアプリケーションプログラムの例
Emacs
Smalltalk 環境
Java アプリケーション
XUL アプリケーション
Presto アプリケーション
家庭用ゲーム機におけるクロスプラットフォーム