Wicket2は凄そうだ

2007年1月14日時点での,Wicket1.2からWicket2.0への変更点について,以下のURLのページで発表されている。
Migrate-2.0 – Wicket wiki
要約すると,以下のような感じである。英語は苦手なので間違っている箇所があると思うが,構わずに掲載してしまおう。

  • JavaSE5以上が必須になる。
  • onAttach()の親実装を先に,onDetach()の親実装を最後に呼び出すように推奨される。
  • Generics/パラメータ化された型への対応
    コンポーネントが扱うモデルの型をGenericsにより規定することができるようになる。これにより,ドメイン依存のモデルをコンポーネントが強制できるようになり,より強固にアプリケーションを開発することができるようになる。
  • コンポーネントのコンストラクタの変更
    コンポーネントをインスタンス化する際に,親となるコンポーネントをコンストラクタの引数に指定することが強制される(Component#add()は廃止される!)。これにより,コンストラクション時に全てのコンポーネントの階層が確定されるようになり,リッチなコンポーネントにとって便利になるだけでなく,タグの属性をダイレクトに編集ことができるようになり,更にコンポーネントの階層がマークアップファイルに一致しなかった場合に,その検出をより早く行うことができるようになる。
  • コンポーネントの入れ替え方式の変更
    コンポーネントのコンストラクタの変更により,コンポーネントを入れ替えるための処理が変更となる。Component#replace()は廃止となる。その代わりに,代替メソッドであるreAttach()を使用するか,同一のIDを持つ入れ替えたいコンポーネントを対象の親コンポーネントを指定してインスタンス化することで実現する。
  • JavaSE5の列挙型の使用
    従来EnumeratedTypeクラスで実現していた列挙型を,JavaSE5のenumを使用するように変更された。これにより,import文による記述の省略化を行うことができるようになる。
  • JavaSE5の戻り値型の柔軟化によるfinalの廃止
    メソッドのオーバーライド時の戻り値の型に対する柔軟化(元の型のサブクラスであれば許可される)を使用するために,Component#getSession()やComponent#getApplication()などでfinalが削除された。これにより,ドメインに特化した型のインスタンスを返すgetSession()を作成することができるようになる。
  • サーブレットの代わりにフィルタが推奨される
    WicketServletは使用されなくなり,代わりにWicketFilterサーブレットフィルタの使用が推奨される。これにより,リソースを返すことや,ルートコンテキストにアプリケーションをマッピングすることが簡単になる。
  • @SpringBeanの属性変更
    name属性は非推奨になり,代わりにidを使用する。
  • バリデーションの変更
    FormComponentクラスからバリデーションの処理が分離され,新たにwicket.validationパッケージによるAPIと,wicket.validatorパッケージによる実装にバリデーションが委譲されるようになる。
  • XMLリソースバンドルの対応
    JavaSE5から提供されるXMLフォーマットでのリソースバンドルが使用可能となる。これにより,直接アスキーではないコードでメッセージリソースを記述することができるようになる。
  • ISessionStoreクラスの変更
  • その他いくつかのAPI変更

しかし,これらのどれよりも大きな進歩がある。
Java EE annotations support in Wicket – TRAVELLING, AND NOT ARRIVING
@Resource,@EJBそして@PersistenceUnitといったJavaEEのアノテーションをWebPageクラス内で使用可能になる。すでにGlassfish上で動作実績があるため,Wicket 2.0では確実に搭載されるだろう。
これは,wicket-javaeeモジュールとして作者(Filippo Diotalevi氏)により提供され,JIRAに登録されている。
WICKET-174 Java EE 5 support for Wicket – Wicket JIRA
さらに,これらの使い方を,Google Codeで見ることができる。
WicketJavaEEIntegration – Google Code
昨年の2006年8月24日付けで,WicketはApache incubatorに登録されており,Wicket 2.0の開発とApacheへの正式参加に対する作業が日々進んでいる。かなり大きな変化の結果,Wicket 2.0は,JavaEE分野でのPOHPソリューションの代名詞となるだろう。そして,Wicketを採用した事例が日本国内でも増えていって欲しいと願っている。
WicketのSVNから最新コードを取得し,さらに上記のWICKET-174からモジュールを得て組み合わせれば,JavaEEアノテーションを試すことが可能である。
Wicketの今後は,目を離すことができない。

Trackback URL:

コメントを残す

コメントを投稿するにはログインしてください。

Get Adobe Flash playerPlugin by wpburn.com wordpress themes