JavaFX 2.0とe(fx)clipse

JavaFXはもともと、Adobe AIRやMicrosoft Silverlightなどに対抗するJavaにおけるRIA技術として登場したものだ。当初は、JavaFX Scriptという独自のスクリプト言語でアプリケーションを構築するというものだったが、それほど普及が進まず、JavaFX 2.0からはJavaから利用可能なGUIアプリケーション向けのライブラリに方向転換している。

e(fx)clipseは、Eclipse上でJavaFX 2を使用したプログラミングをサポートするプラグインだ。前述のように、JavaFX 2は単なるJavaライブラリであるため、Eclipse単体で開発を行うことも可能だが、e(fx)clipseをインストールすることでFXMLやCSSの編集支援機能、FXGraphというUI定義用のDSLなどを利用することが可能になる。

図1 : e(fx)clipseのWebサイト

e(fx)clipseのインストール

e(fx)clipseは、以下の更新サイトからインストールできる。

http://www.efxclipse.org/p2-repos/releases/latest/

ただし、e(fx)clipseの動作にはXtextとe4 (Eclipse 3.7系で使用する場合のみ)が必要になる。Xtextは、以下の更新サイトからインストールできる。

http://download.eclipse.org/modeling/tmf/xtext/updates/composite/latest/

e4については現状では更新サイトが提供されていないため、以下のURLから直接ダウンロードして導入する必要がある。

http://download.eclipse.org/e4/downloads/

また、e(fx)clipseのダウンロードページでは、e(fx)clipseをインストール済みのEclipseも用意されている。必要なプラグインを個別にインストールするのが面倒な場合は、これを利用してもいいだろう。

なお、いずれの場合も別途JavaFX SDKが必要となる。JavaFX SDKは以下のURLからダウンロードできる。e(fx)clipseの設定画面でインストールディレクトリを指定しておこう。

http://www.oracle.com/technetwork/java/javafx/downloads/index.html

図2 : JavaFX SDKの設定

e(fx)clipseの主な機能

e(fx)clipseをインストールすると、新規作成ウィザードを使用してJavaFXプロジェクトを作成できるようになる。JavaFXプロジェクトは、最初からJavaFXを使用できるよう設定されているほかは通常のJavaプロジェクトと同じだ。

図3 : JavaFXプロジェクトの作成

JavaFX 2.0では、FXMLというXMLでユーザインタフェースを定義することもできる。e(fx)clipseでは、FXMLを編集するためのエディタを提供しているほか、FXMLを生成するFXGraphというDSLをサポートしている。いずれのエディタもコード補完機能を備えているほか、FXGraphについてはエラーもリアルタイムに報告される。

図4 : FXMLエディタ

図5 : FXGraphエディタ

FXGraphファイルを編集すると自動的にFXMLが生成されるため、JavaコードからこのFXMLを読み込むことで、FXGraphで作成したユーザインタフェースを使用することができる。また、「FXGraph Preview」ビューでは、編集中のFXGraphやFXMLをプレビュー表示することが可能だ。

図6 : FXGraph Previewビュー

なお、e(fx)clipseはこのほかにもJavaFXに対応したCSSエディタや、EclipseプラグインでJavaFXを使用可能にするといった興味深い機能も提供されている。

まとめ

e(fx)clipseはWYWISYGでコンポーネントの配置やプロパティの編集を行うといった見た目のわかりやすさよりも、記述が容易で可読性の高いDSLや高機能なソースエディタ、プレビュー機能などを提供することで、JavaFXの生産性を高めようという方針のようだ。

JavaFXは2.0以降、Javaから利用できるようになったことで既存のIDEで開発ができるようになったほか、ScalaFXやGroovyFXのようにJava以外のJVMベースの言語でJavaFXを利用するためライブラリも登場してきている。今後の巻き返しに期待したいところだ。