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の今後は,目を離すことができない。

このエントリーをはてなブックマークに追加

関連記事

2023年のRemap

Remapにファームウェアビルド機能を追加しました

Google I/O 2023でのウェブ関連のトピック

2022年を振り返って

現在のRemapと今後のRemapについて