クロスプラットフォーム 単語

4件

クロスプラットフォーム

2.0千文字の記事
  • twitter
  • facebook
  • はてな
  • LINE

クロスプラットフォームとは、複数のプラットフォーム(ハードウェアOSの組み合わせ)で動作するということである。

概要

クロスプラットフォームが非常識だった時代

プログラミングといえば機械語アセンブラしかなかった時代、プログラム特定ハードウェアでしか動作しないのが当然であった。

その後C言語が登場すると、依然ハードウェア依存した部分は大きかったものの、プログラムを他のハードウェア移植する際、ソースコードの一部を流用することが可になってきた。

Java仮想マシンの登場

1995年Javaが登場。Java仮想マシンハードウェアOSの違いを吸収して一度プログラムを作れば全ての環境で動作する"Write Once, Run Anywhere"という謳い文句が出てくるようになった(現実はそんなに甘くないのでWrite once, Debug Everywhereと揶揄されていたが)。

その後に登場したプログラミング言語は、仮想マシン方式こそ取らないものの、一度ソースコードを書けば複数のプラットフォームで動作するものも多くなってきた。

しかし、クロスプラットフォームとは言ってもCUIレベルの話で、Hello Worldはクロスプラットフォーム化できても、ウィンドウを表示したりするためには個々のハードウェア依存するライブラリに頼らざるを得ないことが一般的であった。

GUIのクロスプラットフォーム

2000年代にもJavaの標準GUIであったSwingなど、クロスプラットフォームのGUI環境がなくはなかったが、実用性という点ではいまひとつであった。

2010年代に入ってようやくGUIのクロスプラットフォームが現実味を帯びてきた。

一方でクロスプラットフォームを名乗るにはWindowsMac(とLinux)さえ押さえておけば良かったのが、2010年代におけるスマホの台頭により、AndroidiOSカバーする必要が出てきた。(もちろん2つ以上カバーできれば名上はクロスプラットフォームだが。)

各論

CUIレベルのクロスプラットフォームはJavaの登場以降、たいていのメジャープログラミング言語であれば達成している。といっても、Windows, Mac, Linuxくらいまでで、モバイル開発(AndroidiOS)までカバーしていることは稀である。

GUIのクロスプラットフォームについてはブラウザ関連技術を用いたものが多い。

以下ではCUIのクロスプラットフォームについては省略して、個々のGUIのクロスプラットフォーム技術について述べる。

Swing / JavaFX

Java仮想マシンで動作するGUIフレームワーク

WebView / Electron

HTML + CSS + JavaScript実装するGUI。実質的にはブラウザ

モバイル向け

宣言型プログラミング

React宣言型プログラミングの考え方に触発されたGUIフレームワーク

ゲームのクロスプラットフォーム

ゲームハードウェアの性を極限まで引き出すことがめられるため、パソコンソフト以上に特定ハードウェアでしか動作しない傾向が強かったが、ハードウェアの性向上で余裕が生まれてきたことに伴い複数のハードウェア上で同時発売といった展開をするゲームタイトル日常的に見られるようになってきた。

ゲーム会社が独自に複数ハードウェア展開する以外に、Unity, Steamなどクロスプラットフォームなゲーム開発環境というものもあり、これらを用いて開発すると特に何もしなくてもクロスプラットフォーム展開が可になる。

関連項目

この記事を編集する

掲示板

掲示板に書き込みがありません。

おすすめトレンド

ニコニ広告で宣伝された記事

記事と一緒に動画もおすすめ!
もっと見る

急上昇ワード改

最終更新:2024/04/20(土) 06:00

ほめられた記事

最終更新:2024/04/20(土) 06:00

ウォッチリストに追加しました!

すでにウォッチリストに
入っています。

OK

追加に失敗しました。

OK

追加にはログインが必要です。

           

ほめた!

すでにほめています。

すでにほめています。

ほめるを取消しました。

OK

ほめるに失敗しました。

OK

ほめるの取消しに失敗しました。

OK

ほめるにはログインが必要です。

タグ編集にはログインが必要です。

タグ編集には利用規約の同意が必要です。

TOP