準備

.NET WindowsForms用に書いたフレームワークをポーティングするに当たって、Javaの環境に幾つか新しいものを加えることにした。

同IDE、6.0ではGUIビルダであるMatissetが新たなレイアウタであるJ2SE6のGroupLayoutを駆使するようになった。
Java/SwingのGUI開発は.NETのWindowsFormsに比べて不利な点が幾つかあるが、コンテナ上のGUIをレイアウトする機能が貧弱なのは大きかった記憶がある。これをある程度改善してくれそうなのがGroupLayoutという訳だ。
まだ試していないが、後述する"BeansBinding"を使ったPOJOとGUIのデータバインドコードも生成してくれるらしい。

J2SEの次のバージョンに採用される可能性のある、汎用フレームワーク。従来のSwingはGUI"ツールキット"であったが"フレームワーク"では無かった。その足りなかったフレームワーク部分を補足してくれるJSR。
私の書くフレームワークでは直接は使わないが、リソースからのインジェクションやアノテーションでのアクションの設定など現状の.NET側のフレームワークと非常に似ている部分所が多いので参考にさせて頂く。

Swingの一部のGUIはデータモデルとなるJavaオブジェクトと連携することが出来たが、このBeandBindingを用いることで.NET WindowsFormsとほぼ同様のデータバインドが実現可能になる。比較的簡単なコードでバインドが実現出来、オブジェクトの指定にはEL式も使えるので、DIコンテナAOPと合わせてGUIDTOや層間のデータ詰め合わせ処理を自動化できれば良いなと考えている。ちなみにこのJSRも次期のJ2SE7以降に搭載されてくる可能性がある(それが狙い)

IDEに関してはNetBeansのほかに、JetBrains IntelliJ IDEA も評価する予定。というのもVisual Studio上で開発する際は、同社のReSharperを愛用しており、同様のインタフェースを持つ同社のIDEを使ってみたいからだ。