S2Wicket1.0.0公開!

seasar.orgにて, S2Wicket 1.0.0をリリースした。 これは,wicket-seasarとして先日公開したライブラリを,Seasarブランドに仕立て直して再公開したものである。主な変更点は,プロダクト名の変更,パッケージ名の変更,それに伴うサイトの文面の変更があげられる。ソースコードに関しては,パッケージ名以外は変更していない。 とりあえずこれでwicket-springと表面的には肩を並べたわけだが,S2の冠を受けたからには,更なる機能追加をしていかなければならない。具体的には,以下のようなことを考えている。 (1) キャッシュによる処理性能の向上 内部的な話として,例えば同じ型に関する動的プロキシを複数個生成することは資源の無駄でもあり,動的プロキシ生成にかかる処理コストは非常にもったいない。現状では毎度毎度生成しているので,キャッシュ機構を追加することで全体的な処理性能を向上させる。 (2) 規約によるインジェクション 現状では,@SeasarComponentアノテーションが付与されたフィールドに対して,インジェクションを行っている。しかし,いちいちアノテーションを付与していくのも,手間といえば手間である。そこで,「指定した型のフィールドは全てインジェクション対象」や「指定したパターンにマッチするフィールド名のフィールドは全てインジェクション対象」など,iRuleによる暗黙的インジェクション設定を可能にする。 (3) Wicketコンポーネント登録の自動化 Wicketでは動的生成されるマークアップなものは,全てwicket.Componentクラス(のサブクラス)のインスタンスを生成し,親のコンテナに登録する処理を記述しなければならない。更に,それらのインスタンス毎に,バリデータやコンバータを登録する処理のコーディングも必要となる。そこで,インジェクション対象のフィールドがwicket.Componentクラスのサブクラスで,しかも特定の命名規則に一致する場合は,「インスタンス生成&インジェクション&バリデータやコンバータの登録&親のコンテナへの登録」までをも暗黙的に処理するようにする。 とりあえず以上の3点については,近々機能追加に着手したいと思っている。 Wicketは,これから事例が多くなると思われるフレームワークだ。ぜひS2Wicketを使って,Seasar2 Containerやその他のサブプロジェクトの成果物をWicketと共に利用し,自分なりのベストプラクティスを見つけて欲しい。もちろん,自らも模索を続けていこうと思っている。 疑問,質問,要望,批判,不具合などあれば,どしどしコメントをして欲しい。

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

関連記事

2023年のRemap

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

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

2022年を振り返って

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