クロスプラットフォーム
クロスプラットフォーム(cross-platform)とは、異なるプラットフォーム(例えばPC/AT互換機とMacintosh、あるいはWindows・Mac OS X・FreeBSD・Linuxなどのように、仕様が全く異なる機械(ハードウェア)またはOS)上で、同じ仕様のものを動かすことが出来るプログラム(ソフトウェア)のことを言う。同様の呼称にマルチプラットフォーム(multi-platform)がある。
[編集] クロスプラットフォームなアプリケーションプログラムの例
具体的には次のようなものがある。
- Emacs
- Javaアプリケーション (Sun Microsystems)
- Firefox / Thunderbird / Mozilla など XUL ネイティブアプリケーション(Mozilla Foundation)
- Opera など Presto エンジン使用アプリケーション (Opera Software)
クロスプラットフォームなプログラムは、表面上はどのOS上でも全く同じように動くが、場合によってはOS側とのやり取りを行う部分は、それぞれのOSの機能に応じて最適化がなされていて、一方のOSで動いていたものを、そのまま他のOSに持っていっても動作しない場合がある。そのため一部のプログラムでは、各OS専用のコードをどのOS向けのパッケージにも含ませていることがある。また、保存された設定などの一部データは、他のOSに移植しても正常に動作することがある。例えば、Thunderbirdのメールデータや設定などのプロファイルを別のプラットフォームへ持っていけば、新たなプラットフォーム上で引き続き利用できる。(参考[1])
Javaの実行環境はWindowsやMac OS X、LinuxやUNIX、携帯電話などに存在するため、Javaで書かれたアプリケーションはこれらのプラットフォーム上で同じように利用できる。
Mozilla Foundationがオープンソースで開発しているインターネットアプリケーション群も Windows / Mac OS X / Linux / OS/2 / Solarisなどにリリースされている。Mozillaは単なるブラウザやメールクライアントなどのアプリケーションという位置だけではなく、それらアプリケーション上で動作する共通のプログラムを扱える。例としては Firefox の拡張機能(エクステンション、アドオン)にFTPクライアントの機能を持たせるFireFTPというものがある。これを用いればFirefoxからFTPを利用できる。
つまり、Firefoxがインストールできる異なったOSで、同様の機能のソフトを利用できるということである。
Operaのケースでは、OS環境に依存せず異なる環境へ移植可能で軽量なプログラムコードを用いているため、デスクトップ環境のみならず、容量の少ない携帯電話や家庭用ゲーム機にもブラウザ機能を移植するケースが存在する。
さらに、ダイナミックHTMLを活用したリッチインターネットアプリケーションが既に広く利用されており、World Wide Webとウェブブラウザも一種のクロスプラットフォーム環境と言える。
[編集] 家庭用ゲーム機におけるクロスプラットフォーム
クロスプラットフォームという語は、家庭用ゲーム(コンシューマーゲーム)に関する文脈においても使用されるが、その場合はマルチプラットフォームの方が主に用いられる。
各種ゲーム機にはそれぞれ異なるOSが搭載されていることが常であるため、異なるいくつかのハードウェア上で同一のソフトウェアを動作させる例は、プレイステーションやゲームボーイ、Wii等における上位互換性を除いては、ほとんど見られない。
そのため、家庭用ゲーム機におけるマルチプラットフォームという語はコンピューターにおける意味とは異なり、ある一つのタイトルのソフトを各ハード向けにそれぞれ別々に発売することを意味する場合がほとんどである。
ゲーム機は、インターフェースや表示手段などの動作環境がハードに強く依存しているため、同世代のハードであれば複数のハード向けに同時進行でソフトの開発を行うことはできるが、ハード性能が著しく異なる場合(たとえばPS2とPS3に同じタイトルのソフトを開発する場合)、ゲームデザインのレベルから再構成する場合もあり、中には同タイトルといえども、テーマや世界観以外は全く異なるゲームとして発売されているものも存在する。
ゆえに、コンピューターにおけるクロスプラットフォームという語が持つ「汎用性」のような印象は、ゲームにおけるクロスプラットフォームでは持たれないのが一般的である。
プレイステーションとセガサターン、プレイステーション3とXbox 360というように任天堂ハードからクロスプラットフォームを回避するケースが多い。これは、前者はメディアの違い(CD-ROMとカートリッジ)、後者はインターフェイスの違いなどが原因と考えられる(光ディスクを使用しており、入力形式にもあまり差が見られなかったプレイステーション2とニンテンドーゲームキューブのマルチプラットフォームは比較的多かった)。
Xbox 360との組み合わせが多い理由は、Xbox 360が同世代の据え置き型ゲーム機(プレイステーション3)比べて開発しやすいことやXbox 360自体のシステムの仕様そのものが同じマイクロソフトが開発しているWindowsのノウハウを利用しており、動作や互換性等がWindows搭載の一般的なコンピュータに近いことや、開発するためのPC自体がWindows搭載のものであることが多く、プログラミングやグラフィック等に差異がそれほどないことからゲームソフト開発側にとって負担が少ないことが挙げられる。