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

4件
クロスプラットフォーム
2.0千文字の記事
  • 2
  • 0pt
掲示板へ

クロスプラットフォームとは、複数のプラットフォーム(ハードウェア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などクロスプラットフォームなゲーム開発環境というものもあり、これらを用いて開発すると特に何もしなくてもクロスプラットフォーム展開が可になる。

関連項目

【スポンサーリンク】

  • 2
  • 0pt
記事編集 編集履歴を閲覧

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

山口剛央 (単) 記事と一緒に動画もおすすめ!
提供: ニキータ
もっと見る

この記事の掲示板に最近描かれたお絵カキコ

お絵カキコがありません

この記事の掲示板に最近投稿されたピコカキコ

ピコカキコがありません

クロスプラットフォーム

まだ掲示板に書き込みがありません…以下のようなことを書き込んでもらえると嬉しいでーす!

  • 記事を編集した人の応援(応援されると喜びます)
  • 記事に追加して欲しい動画・商品・記述についての情報提供(具体的だと嬉しいです)
  • クロスプラットフォームについての雑談(ダラダラとゆるい感じで)

書き込みを行うには、ニコニコのアカウントが必要です!