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などを利用することが可能になる。
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
e(fx)clipseの主な機能
e(fx)clipseをインストールすると、新規作成ウィザードを使用してJavaFXプロジェクトを作成できるようになる。JavaFXプロジェクトは、最初からJavaFXを使用できるよう設定されているほかは通常のJavaプロジェクトと同じだ。
JavaFX 2.0では、FXMLというXMLでユーザインタフェースを定義することもできる。e(fx)clipseでは、FXMLを編集するためのエディタを提供しているほか、FXMLを生成するFXGraphというDSLをサポートしている。いずれのエディタもコード補完機能を備えているほか、FXGraphについてはエラーもリアルタイムに報告される。
FXGraphファイルを編集すると自動的にFXMLが生成されるため、JavaコードからこのFXMLを読み込むことで、FXGraphで作成したユーザインタフェースを使用することができる。また、「FXGraph Preview」ビューでは、編集中のFXGraphやFXMLをプレビュー表示することが可能だ。
なお、e(fx)clipseはこのほかにもJavaFXに対応したCSSエディタや、EclipseプラグインでJavaFXを使用可能にするといった興味深い機能も提供されている。
まとめ
e(fx)clipseはWYWISYGでコンポーネントの配置やプロパティの編集を行うといった見た目のわかりやすさよりも、記述が容易で可読性の高いDSLや高機能なソースエディタ、プレビュー機能などを提供することで、JavaFXの生産性を高めようという方針のようだ。
JavaFXは2.0以降、Javaから利用できるようになったことで既存のIDEで開発ができるようになったほか、ScalaFXやGroovyFXのようにJava以外のJVMベースの言語でJavaFXを利用するためライブラリも登場してきている。今後の巻き返しに期待したいところだ。