features
Egg は MVC志向の Perl製 WEB アプリケーションフレームワークです。
Cataryst の仕様を参考にして開発しました。特にプラグインの扱い方は非常に良く似ています。

Version 3 より仕様を少し変更した為、以前のバージョンで作成したアプリケーションで利用すると問題が発生します。 Version 3 に合わせてアプリケーションのコードを修正する必要があります。

mod_perl 、FastCGI 、PersistentPerl などの永続オブジェクト志向なプラットフォームで動作させる事を前提にしています。 ※通常のCGIでは実用的なパフォーマンスは発揮できません。

インストール方法についてはこちらをご覧下さい。

ドキュメント類は Wiki の方から参照して下さい。

Version 3 には、名前空間の競合等致命的なバグが見つかっています。

既に、Version 4 が完成していますが、ドキュメントの整備などが出来ていませんので、公開までにはもしばらくかかりそうです。 ※一応、Version 4 の特徴などをご紹介しておきます。

  • プラグインのロードなどは今まで通り特に変更はありません。
  • リクエスト・パラメータの処理 と 値のフィルタリング や 値のチェック(Validate) の処理をより親密にしました。 これにより、リクエスト・パラメータから値を呼び出すだけで、既にフィルタリング完了済みの値が受け取れるといった事ができます。
  • Etag などに対応し、更新問い合わせのリクエスト時には、コンテンツ・ボディーを返さず 304 ステータス のみを返すようにできます。 これによりトラフィックの軽減に貢献します。
  • DBI周り や セッションなど、殆どの機能を一纏めにしました。 これでインストール時の手間が省けると思いますが、同時にインストール時間が長くなっていると思いますし、ともなってパッケージサイズも以前より随分大きくなっています。
  • モデルとビューのロードの仕方が少し変更になりました。 常にハンドラーモジュールを持たせるようにして、メインのモジュールはプラグインのようにフレームワークのCOREにロードされます。

Egg は GNU GPLPerl Artistic license の元で配布しています。
ライセンスに従う限り、コードの改変 及び 改変物の配布等 自由に行えます。