JavaFXとMSAの関係を示したプレゼンテーション資料
JavaFXとMSAの関係を示したプレゼンテーション資料
[画像のクリックで拡大表示]

 「JavaFX Mobile」――。最初にこの言葉が登場したのは,2007年のJavaOneだ。このときは,Sun Microsystems社が提供する携帯電話機向けのソフトウエア・プラットフォームだった。当時買収した米SavaJe社の技術を採用したソフトウエア・スタックを携帯電話機メーカーに販売することを想定していたのである。しかし現在は大きくその姿を変え,RIA(rich internet application)の実行環境となった。JavaFXの最初の実装はパソコン版からだったが,2007年発表当時はJavaFXのパソコン版は存在しなかったのである。

 JavaFXはパソコン向けのDesktop,携帯電話機向けのMobile,テレビ向けのTVとそれぞれを対象としたプロファイルを用意している。基本となるCommonプロファイルにそれぞれの拡張規約を盛り込んだものだ。現状ではMobileプロファイルはCommonプロファイルと共通になっている。

 JavaFX Mobile用に作られたプログラムは,携帯電話機向けのJava API群の標準規約である「MSA(mobile service architecuture)」に対応した携帯電話機で動くという。MSAは例えばSVG(scalable vector graphics)やJava 3D(3次元グラフィックス)なども含む,比較的機能の豊富な規約である。しかし,MSAだけではJavaFX MobileのAPIをカバー仕切れない。JavaFX Mobileが備えるシーンやアニメーション,メディア・コーデックなどの機能が必要だからだ。

 JavaFXでは,こうした画面関連の情報を「JavaFX Script」を使って記述する。これをJavaFXコンパイラ(javafxc)でコンパイルして,Javaのバイト・コードに変換する。パッケージを作る際に,MSAに含まれていないライブラリ群を入れることになるのだろう。逆に言えば,このような形にできなければ,“JavaFX Mobile対応携帯電話機”の開発を呼びかけなければならない。MSAであれば,規約策定に賛同したフィンランドNokia社やSony Ericsson社などが対応携帯電話機を作ってくれる可能性はある。MSAの普及と“JavaFX Mobile対応”を比較したら,明らかに前者の方が可能性は高い。MSAそれ自体が比較的機能の高い携帯電話機を対象とした技術ではあるが,それよりもハードルを上げてしまうと,「携帯電話機におけるJava実行環境の普及度の高さ」というJavaFXの武器が使えなくなってしまうからだ。