| 開発者 | キャッスルプロジェクト |
|---|---|
| 安定リリース | 2.1 RC [1]
/ 2011年3月17日 |
| オペレーティング·システム | クロスプラットフォーム |
| タイプ | アプリケーションフレームワーク |
| ライセンス | アパッチ2.0 |
| Webサイト | www.castleproject.org/projects/monorail |
Castle ProjectのコンポーネントであるMonoRail (旧称Castle on Rails )は、ASP.NETプラットフォーム上に構築されたオープンソースのWeb アプリケーション フレームワークです。Ruby on Rails Action Packに触発された[2] MonoRail は、モデル - ビュー - コントローラ(MVC) アーキテクチャを使用して関心の分離を強制することで、標準の ASP.NET Web フォーム開発とは異なります。 [3]このフレームワークは、 NHibernate上に構築されたORMレイヤーであるCastle ActiveRecordと組み合わせて使用されることがよくあります。2010 年 1 月に MonoRail のバージョン 2.0 がリリースされましたが、多くのプロジェクトでは、公式リリースを待たずに新しい機能を活用するために、ソースのトランク バージョンを使用しています。
プロジェクト名は MonoRail ですが、Monoプロジェクトとは一切関係ありません。
仕組み
フレームワークは、Web リクエストを「アクション」にマッピングします。これは、コントローラ上の通常の .NET メソッドです。コントローラは、ビジネス サービスの呼び出しとアプリケーションのフローの制御を担当します。Web レスポンスをクライアントに送信するとき、コントローラはレンダリングするビュー テンプレートを設定し、「プロパティ バッグ」と呼ばれる特別な辞書オブジェクトにデータを配置し、テンプレートのレンダリングをビュー エンジンに委任します。[4]
ビュー エンジンは、コントローラーによって提供されたプロパティ バッグのデータを利用して、テンプレートを応答ストリームにレンダリングします。この段階では、ビューはアプリケーションの他のレイヤーにアクセスできないため、ビューはアプリケーション ロジックから分離されます。
エンジンを表示
MonoRail で使用される主流のビュー エンジンは、Apache Velocityライブラリに基づく NVelocity です。NVelocity には、 if ステートメントやforeach ループなどの単純な制御ブロックが付属しています。NVelocity ビュー テンプレートは、拡張子が「.vm」のテキスト ファイルです。
使用されているその他のビュー エンジン:
- Brail は、Boo言語に基づいています。.NET 言語である Brail ビュー エンジンは、ビュー プログラマーが基本クラス ライブラリメソッドを使用できるなど、より強力な機能を備えています。ただし、その強力さには代償が伴い、ビューで多くのことを実行する可能性が高まり、プログラマーの手に関心の分離の責任が一部残されます。ビュー テンプレートは、拡張子が '.brail' のテキスト ファイルです。
- AspView は、スクリプト言語としてC# を使用し、すべてのビューが展開前に .NET アセンブリに事前コンパイルされる、事前コンパイルされたアプローチを使用するビュー エンジンです。ビュー テンプレートは、拡張子が '.aspx' のテキスト ファイルです。
- WebForms ViewEngine を使用すると、MonoRail アプリケーションで Web フォームの機能の一部を使用できます。WebForms ビュー エンジンの使用は非常にまれであり、既存の Web フォーム アプリケーションから MonoRail アプリケーションへの移行フェーズでのみ推奨されます。ビュー テンプレートは、拡張子が '.aspx' のテキスト ファイルです。
- StringTemplateはMVCの観点から最も厳密なビューエンジンです。[5]
- Spark View Engine は、ASP.NET MVC 開発者の間で人気のある新しいビュー エンジンであり、MonoRail もサポートしています。
その他のビューエンジン
他のビュー エンジンの構築は非常にシンプルで簡単です。Brail、StringTemplate、AspView はすべて、独立した開発者が独自のニーズに合わせて作成しました。
その他のビュー エンジンは次のとおりです。
- アスピーエックス
- スパーク
- Nハムル
- ジャンゴ
- ハシック
- 点字
- ベルビュー
- シャープタイル
- 文字列テンプレート
- ウィングビート
- シャープDOM
- カミソリ
- アズール
参考文献
- ^ 「ダウンロード | Castle Project」.
- ^ Ruby on Rails アクションパック
- ^ 「InfoQ: Castle プロジェクトに追いつく」 。2007年9 月 13 日閲覧。
- ^ モノレールの仕組み キャッスル・オン・レール・プロジェクトの仕組み
- ^ Parr, Terence. テンプレートエンジンにおける厳密なモデルビュー分離の実施
さらに読む
- James Avery、Jim Holmes、『Windows 開発者向けパワー ツール』、O'Reilly Media、2006 年、ISBN 0-596-52754-3、pp. 963–972 (18.6 Castle MonoRail による Web 開発の簡素化)
- Steven Sanderson、Pro ASP.NET MVC Framework、Apress、2009、ISBN 1-4302-1007-9、p. 12 (MonoRail との比較)
外部リンク
リソース
- モノレールドキュメント
- モノレールに関するプレゼンテーション
モノレールに関するブログ
- キャッスルプロジェクトの創設者、ハミルトン・ベリッシモのブログ、2007年9月11日アーカイブ、 Wayback Machine
- Brail ビュー エンジンの作成者、Ayende Rahien (Oren Eini) のブログ
- エレウティアンのブログ
- .net とその他の考察
- AspView ViewEngine の作者 Ken Egozi のブログ
- アダム・エスターラインのブログ
