デスクトップからモバイルまでUIをJavaFXで統一

サン、GUI作成向けスクリプト言語“JavaFX”発表、その狙いは

2007/05/09

 米サン・マイクロシステムズは5月8日(現地時間)、米国サンフランシスコで開催中の開発者向けイベント「JavaOne」で、Javaの文法に近いスクリプト言語「JavaFX Script」と携帯端末向けの実行環境「JavaFX Mobile」を発表した。JavaFX ScriptとJavaFX Mobileは、“JavaFX”のブランド名の基に展開されるシリーズ製品の第一弾となる製品で、今後も複数の製品が追加される予定という。

javafx01.jpg JavaFX Scriptを発表するリッチ・グリーン(Rich Green氏)

リッチなGUI作成に適したJavaFX Script

 「スクリプト言語は、すでに何十とあるのに、なぜ今さらまた1つ加えるのかと思う人もいるでしょう」。JavaOneの基調講演に登場したJavaの生みの親、ジェームス・ゴスリング(James Gosling)氏は、JavaFX Scriptの紹介をそう切り出した。ゴスリング氏によれば、スクリプト言語には、それぞれ利用目的が異なる。JavaScriptはHTMLを生成したり加工するといった用途に適する。一方、JavaFX Scriptは、Webブラウザ上でリッチなGUIを作成するのに適したスクリプト言語だ。文法としてはJavaに似ており、静的に型づけされている点もJava同様だ。JavaFX Scriptは、ほかのJava製品同様にGPLに基づいてオープンソースで提供・開発される予定だ。

javafx02.jpg JavaFX Scriptで作成したWebサイトの例。動きのあるメニューなど動的なGUIが容易に構築できるという

 JavaFX Scriptは、Java SEまたはJava ME上に追加されたJavaFXフレームワークというレイヤーにより解釈され、実行自体はJava SEやJava MEのVMが行う。JavaFX Scriptでは、Java APIを直接呼び出すことができるほか、Java Swing、Java 2D/3Dが使える。JavaFX ScriptでできることはJavaでもできるため、この新しいスクリプト言語によって新しい機能が追加されるというものではないが、Webアプリケーションの開発者やコンテンツを管理するWebデザイナーなど、非プログラマにとって開発の敷居が低くなるというメリットがある。必要となるコード量もはるかに少なくて済む。サン・マイクロシステムズのCEO、ジョナサン・シュワルツ(Jonathan Schwartz)氏は「現在、Javaを使っている企業ユーザーが、コンシューマーに対してリッチなインターフェイスでコンテンツを提供したい場合に使われるだろう」とコメントした。

javafx03.jpg JavaFX Scriptのコードサンプル

JavaとJavaFXはOSとWebブラウザのような関係

 一方、JavaFX Mobileは文字通り携帯端末向けの実行環境で、キャリアを中心にOEMで提供される。その実体はJava ME上にJavaFXフレームワークを実装した実行環境だ。当然Java ME向けに書かれたアプリケーションの実行をサポートするほか、JavaFX ScriptもJavaFX Mobile上で動作する。つまり、JavaFX Scriptを使うことで、コンテンツ提供者はデスクトップから携帯端末まで、JavaFX Scriptによる一貫したUI設計でのコンテンツ提供が可能になる。

javafx04.jpg JavaFX Mobile搭載の携帯電話端末上でflickrにアクセスするデモンストレーション。JavaFX Scriptを使ったUIの例

 Java実行環境とJavaFXフレームワークの関係は、OSとWebブラウザの関係に似ている。現在のところJavaFX ScriptはJava SEやJava ME上の追加レイヤーとして位置付けられているが、Webブラウザなしの素のOSに利用価値がなくなったのと同様に、今後JavaFXが広く普及することになれば、JavaFXなしのJava SEやJava MEは、徐々に存在意義を失っていくだろう。すでにJava MEに関して言えば、組み込み向けという性格上、JavaFX Mobileという独立した名前の製品となっており、Java MEというブランド名は、JavaFX Mobileの構成要素の1つとして後景に引いた形だ。

 命名の対称性から言えば、Java SE上にJavaFXフレームワークを実装した実行環境に対して“JavaFX Desktop”という名前を冠して良さそうなものだが、そういう名前の製品は発表されていない。また、JavaFX Scriptは、JavaFXファミリーのコアとなる言語であるため、サンは「JavaFX Scriptは将来的には単にJavaFXと呼ばれることを期待している」という。これは、いずれJava SEもJava MEも差がなくなっていき、JavaFXというブランド名の元に統一されていくことを考慮した結果だ。現状では、携帯端末向けにはフットプリントの小さなJava MEを利用するということになっているが、携帯端末の急激なメモリリソースの増加により、Java SEに対するJava MEの存在意義は薄れている。結局のところ、JavaFXは、Webと親和性の高いプレゼンテーションレイヤーを備えた次世代Java実行環境として、デスクトップ向けは「JavaFX」、そのモバイル版が「JavaFX Mobile」と呼ばれて普及していくことになるのだろう。

(@IT 西村賢)

情報をお寄せください:



@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)