Click Framework

The Click Framework Projectは2日(米国時間)、同プロジェクトが開発するWebアプリケーションフレームワークの最新版となるClick Framework 1.5を公開した。Clickを使ったWebアプリケーションはJavaプログラムとHTMLファイルで構成され、コンテンツの作成から遷移制御まですべてをJavaのプログラムから制御できる。

Click Framework 1.5は新機能の追加と機能拡張、ドキュメントとサンプルコードの追加が実施されたメジャーアップグレードバージョン。注目の機能は次のとおり。

  • シングルバッファからのマークアップレンダリングでパフォーマンスを改善。それぞれのコントロールが管理していたバッファが統合されたことで40%ほどの高速化を実現
  • Click coreをプラグイン可能なサービス構造へリファクタリング
  • 新しいログサービス実装ConsoleLogService、JdkLogService、Log4JLogServiceの導入
  • 任意で複雑な階層化されたコントロールを作成するためのContainerインタフェースの導入
  • コードリファクタリングとコンパイル時の確定化を実現するためのActionListenerインタフェースの導入
  • Tableに対する新しいインタフェースとしてRenderableを導入: TablePaginatorとTableInlinePaginatorの実装あり
  • テンプレートエンジンとしてVelocityのかわりにFreemakerサポート追加
  • ユニット試験を簡単に記述するための仕組み導入
  • リスナが動作するよりも前にリクエストパラメータをバインドできるようにControlを拡張する二段階リスナディスパッチ機能の導入 (ControlRegistry)
  • すべてのリソースをJarsから直接デプロイする新しいデプロイ戦略の採用

Clickは学習の容易さが特徴のJava EE/Webアプリケーションフレームワーク。JavaプログラマがWebアプリケーションを開発する場合、学習コストの低さと仕組みの単純さが魅力的といえる。イベント駆動型の設計になっており、Javaのソースコードを基軸としてWebアプリケーションをゴリゴリ作成していく場合に便利に活用できる。

ひとつ前のバージョンである1.4を使っている場合には注意が必要だ。Click 1.5と1.4にはバイナリ互換性がない。1.4から移行するには若干の変更と再コンパイルが必要になる。Upgrade Pathにアップデート方法がまとまっているためバージョンアップする場合には参考にされたい。