ニュース
» 2007年05月11日 13時04分 UPDATE

2007 JavaOneのトピック「JavaFX」とは何か (1/2)

JavaFXの大きな目標は、Java誕生当初に言われた「Write Once, Run Anywhere」の実現だという。会場で得たライブな情報から、JavaFXの理解度を深めてみよう。

[渡邉利和,ITmedia]

 今年の2007 JavaOneで最大のトピックは、JavaFXの発表ではないだろうか。ここでは、ゼネラルセッションおよび担当者へのショートインタビューを通じて得たJavaFXに関する情報をまとめて紹介しよう。

 ただし、JavaFX自体がまだ開発途中ということと、断片的な話をつなぎ合わせて理解した結果であるため、今後の展開で異なるものとなる可能性があることをあらかじめお断わりしておきたい。

DSC_3791.jpg 米モトローラによるJavaFX利用のWebサイトイメージ

JavaFXとは何なのか?

 JavaFXは、実態としては複数の製品をまとめるブランド名のようなものだ。

 JavaFXという大きな傘の下に具体的なソフトウェアがグループ化されていく。今回発表されたのは“JavaFX Script”と“JavaFX Mobile”の2種類のソフトウェアである。

DSC_3786.jpg アーキテクチャ

 JavaFXは、Sunでソフトウェア担当CTOのBob Brewin氏によれば「サンが提供するコンシューマ向けの製品群」というくくりと位置づけられる。ただし、コンシューマが実際に利用する製品だけではなく、コンシューマ向けの製品を作成する際に使われるツールなども同時に含まれる。

 技術的な関連というよりは、むしろマーケット・セグメントに応じた分類であり、その意味では従来エディションとして定義されていたJava MEとやはり重なる部分があると理解することができる。

 JavaFXの大きな目標は、Java誕生当初に言われた「Write Once, Run Anywhere」の実現だという。この目標はPCやサーバに関しては達成されているが、携帯電話などのモバイル機器に関しては、機器間のハードウェア仕様の差が大きいなどの理由で、現時点では実現できていない。

 現在、JavaFX Mobileがスマートフォン向けとして発表されているが、今後はTV向けや車載機器向けといった、さまざまなバリエーションが展開される予定だ。このときに、ソフトウェア開発者がJavaFXのAPIセットだけを利用して開発でき、機器間の違いを意識しなくて済むようにしていく、というのが目標になっている。

 また、これに加えてSunが自社の使命として取り組む「全世界でのデジタルデバイドの解消」のためにも有用だという。最近の若年層や発展途上国などでは、PCを経ることなく、直接携帯電話などのモバイル機器を通じてインターネットを利用することがむしろ普通になると見ていると言い、その際に適切な環境を提供できるようにソフトウェア環境の整備に取り組んだ結果がJavaFXだと位置づけられるのだという。

JavaFX Scriptの存在意義

 JavaFX Scriptは、ビジュアルなUIを作成するためのスクリプト言語だ。コンシューマ向けのリッチなGUIを簡単に作成できることを設計目標としている。言語だけでなく、近いうちにコンテンツオーサリングツールも提供する予定だという。

 現在のプレビュー版では、動作環境となるJavaFXフレームワークに含まれるインタープリタで実行されるが、将来はコンパイラを提供し、JavaFX Scriptから直接バイトコードを生成し、これをJVM上で実行することが計画されているという。そのため、現在はJavaFX Scirptで記述したWebサイトにアクセスした際に、クライアントにはインタープリタがダウンロードされることになるが、将来はバイトコードがJava Appletとしてクライアントに送られてくるだけで、インタープリタのダウンロードは不要になるという。

DSC_3796.jpg コード量の比較

 JavaFX Scriptは、グラフィカルなWebコンテンツの作成に特化した高水準命令群だと捉えることもできるだろう。Brewin氏によると、「最近のWebサイトでは、グラフィックイメージが一度消えて、再度表示されるようなアニメーションがよく使われている。これを直接Javaで記述するならばコードは50行程度にはなるが、JavaFX Scriptなら1行で済む」という。

 テクニカルゼネラルセッションで紹介されたのは、MotorolaによるWebサイトの試作実装例だ。全体がグラフィカルに構成されており、各種のコンテンツに移動するためのボタンが配置されている。静止画では分からないが、ボタンの上にマウスカーソルが重なる(ロールオーバー)とボタンが大きくなり、ユーザーに「今クリックするとこのボタンが押されることになる」という情報を視覚的に伝達できるように作られている。

 JavaFX Scriptの記述例として取り上げられたのが、画面の右下に配置された、ギターピックを3枚重ねたイメージで、手前に上下に配置された2枚のピックがボタンになっている、という部分。

       1|2 次のページへ

Copyright© 2016 ITmedia, Inc. All Rights Reserved.

Loading

ピックアップコンテンツ

- PR -

注目のテーマ

マーケット解説

- PR -