JetBrainsがIntelliJ IDEA 12.1の提供を開始した。Javaクライアントプラットフォームの最新実装であるJavaFX 2.0のフルサポートを実現している。添付のビデオ によれば,サポート範囲は "FXMLマークアップ,カスタムCSS,コード補完,ナビゲーションと検索,リファクタリング,パッケージ用ツール,シーンビルダとの統合" などだ。
Java 7のインストールと合わせて,"hello world" タイプのサンプルJavaFX アプリケーションを新規作成するテンプレートが提供される。作成されたサンプルにはレイアウトを記述した.fxmlファイル,コントローラを備えたハンドラ,main クラスが用意されているので,"run" をクリックするだけで動作を確認することができる。プロジェクトに関する機能としては,コード補完や "クィックフィックス" 候補の表示といった,期待されそうなサポートはすべて提供されている。
JavaFX用のグラフィカルなUIデザイナはJetBrain自身では提供せず,Oracleの Scene Builder を組み込む方法を選択している。Scene Builderでシーンを開いて編集すると,その内容がIDEAに反映される仕組みだ。IDE内で直接シーンを開いて手作業で編集することも,もちろん可能だ。
JavaFXのパッケージ構築に関する機能もいくつか用意されているが,開発途中のような印象を与える部分がいくつかある。例えば,IDEのUIによるネイティブなパッケージング操作は,現時点ではサポートされていない。この部分はJavaFX Antタスクの使用に頼らなければならないのだ。このあたりの計画について確認すべくJetBrainsに連絡を取ったが,記事の発表時点では回答を得られていない。ただし こちらのブログ記事 によると,バージョン12.1.2での対処が予定されているようなので,JetBrainから返答があれば記事をアップデートしてお伝えしようと思う。
JavaFXサポートは無償版であるCommunity Editionにも提供されるが,JavaFX CSSサポートが含まれない点にも注意が必要だろう。この部分はUlitmateの限定機能であるCSSサポートに依存しているためだ。
JavaFX 2とは別に,Gradleサポートにも注目の追加オプションが2つある。
"Gradleラッパを使用する" が選択された場合,IDEは,リンクされたGradleプロジェクトが ラッパ対応 であることを自動的に検出し,プロジェクトのリフレッシュとタスク実行にラッパを使用する。"自動インポートを使用する" オプションはGradleプロジェクトの更新時に,すべてのプロジェクト構造の変更を自動的にピックアップするように指示するものだ (例:build.gradleにライブラリが追加あるいは削除されたとき,IDEからも同時に追加あるいは削除される)。
他にも小さな改良が多数あるが,VMの各種言語に固有なものも数多く含まれている。Community,Ultimate両バージョンに共通する改善点は:
- Windowsのフルスクリーンモード
- Groovy 2.1 サポート。新しいアノテーションやコンパイルのカスタマイズが含まれる。
- Scalaサポートの改善 (文の補完と新コンパイラ)
Ultimateバージョンでは,さらに次のような改善点がある。
- Spring Framework 3.2とPlay Framework 2.1のサポート
- Adobe Gaming SDKサポート
- CoffeeScript,Dart,TypeScript用のソースマップ経由のデバッガ
- Sass ("Syntactically Awesome Stylesheets") のサポート改善 (カスタム関数定義,補完,リネームリファクタリング,入れ子形式のプロパティなど)
そして最後に,AppleのMacBook Pro Retinaの所有者にとって間違いなく嬉しいのは,Darkulaテーマの高解像度ディスプレイ サポートが改善された ことだろう。