JavaFXとは?

今、ソフトウェアの世界で大きな話題をさらっているのが、8日に開幕したJavaOne 2007で発表された新技術「JavaFX」だ。JavaFXについてお聞き及びでない読者のために簡単に説明すると、JavaFXとはJavaプラットフォーム上で動作するRIA(リッチ・インターネット・アプリケーション)技術である。その目的は、モバイル機器、デスクトップPC、家電製品などデバイスを問わず「リッチな」UIを提供できる、一貫性のある技術を提供するというものである。一度作成したRIAが様々なデバイスで動作するようになるというこの構想は非常に魅力的だ。

そうした優れた構想を持ち、大きな期待を寄せられているJavaFXの実態は、JavaFX Scriptと呼ばれるスクリプト言語とその実行環境である。JavaFX ScriptはJVM上で動くスクリプト言語であるため、基盤となるVMのAPI全てにアクセスできる。登場したばかりの言語なのに、機能面が問題視されないのはそのためだ。

JavaFX Scriptの特徴は、以下に挙げるようなものになる。

  • JavaやJavaScriptに似た非常にコンパクトな言語仕様
  • Swingのように"手続き"の記述によってUIをプログラミングするのではなく、"宣言的"な記述を行える
  • 変数が静的な型を持つ
  • モデル⇔ビューやビュー⇔ビューの双方向バインドや、関数のサポート、イベントハンドラを関数で実装できるなど、UIプログラミングに特化した機能を提供している

補足すると、JavaFX Scriptは、Swingのようにプログラムを手続き的に記述してUIを構築するのではなく、UIコンポーネントの構造に近い形で"宣言的"にプログラミングできる。宣言的なUIプログラミング言語としてはAdobeのMXMLやMicrosoftのXAML、MozillaのXUL等があるが、それらと一線を画すのは「XMLベースの言語ではない」ということだ。

XMLを採用しなかったという時点で、「また新しい言語で馴染みのない文法を覚える必要があるのか」と不安を感じる方もおられるかもしれないが、ご安心いただきたい。JavaFX ScriptはJavaもしくはJavaScriptに似ており、しかもそれらよりかなりコンパクトな言語仕様にまとまっているので、覚えるのはそれほど苦にならない。

今回はJavaFXの簡単な紹介ということで、プロジェクトOpenJFXの成果物を利用し、デスクトップ上で動く簡単なサンプルを作るとしよう。

実行環境のダウンロードとインストール

では、「OpenJFX」を使ってJavaFXを実際に試してみたい。

なお、JavaFXの実行にはバージョン5以上のJava実行環境がインストールされ、「java」コマンドにパスが通っていることが前提となる。

OpenJFXはJavaFX Scriptの実行環境を作成するプロジェクトだ(プロジェクトのサイトはこちら)。現在のところ、スクリプトのインタープリタ自体はまだソースが公開されていないが、JavaFXライブラリのソースは見ることができる。将来的には全てのコードがオープンソース化されるとのことだ。

OpenJFXによるJavaFX実行環境はこちらのサイトからダウンロードできる。

実行環境以外にも、JavaFX開発をサポートするものとしてNetBeans 5.5/6.0やEclipse3.2用のプラグインが既に提供されている(プロジェクトのトップページの「Downloads」から)。ただし、今回は、こうしたIDEは使わずにコマンドラインからJavaFXを実行する。

それでは、ダウンロードしたアーカイブを展開するための新しいディレクトリを作り、ツールを用いて展開してほしい(本稿ではopenjfx-20070506220507.zipを使用している)。準備が整ったらいよいよ、プログラムの作成に入ろう。