ヒマをみつけてWeb開発
その場の思い付きを、ヒマをみつけてWebサイトにしてみるブログ

MonoRailのViewEngine

Sunday, 30 March 2008 11:18 by sabro

Sabroは、MonoRailのViewEngineに、AspViewを使用していますが、実際には様々なタイプのViewEngineがあり、用途に合わせて使い分けることができます。

以下の表は、MonoRailのサイトからコピーしたものですが、それぞれのエンジンの特徴が簡単に比較できます。

Engine Language Compiled Helpers ViewComponents
WebForms Any .net language Yes Yes No
NVelocity Velocity No Yes Yes
Brail boo Yes Yes Yes
AspView
(from Contrib)
C# Yes Yes Yes
StringTemplate (from Contrib) String Template No Partially Yes

機能的には、NVelocityが使いやすそうだったのですが、これはインタプリタ型だったので、パフォーマンスが気になりました。そこで、コンパイル型のなかで比較をしたのですが、WebFormはMVCでないのでスルー、Brailは独自言語でViewを作成するのが、ちょっと気になったのでスルーして、AspViewに落ち着いたという感じです。

まあでもAspViewも、よく分かっているわけではないので、Viewについては、もうちょっと使用感を見てから正式に決めようかと考えています。

Tags:   ,
Categories:   .NET
Actions:   Permalink | Comments (153) | Comment RSSRSS comment feed

ASP.NET MVCフレームワークとかあったなぁ

Saturday, 29 March 2008 13:43 by sabro
そういえばMonoRailじゃなくても、.NETのMVCありましたね (^ ^) ← 忘れていた人
ASP.NET MVC Framework

まだPreview版なので、MonoRailでやりますが。
Tags:   ,
Categories:   .NET
Actions:   Permalink | Comments (40) | Comment RSSRSS comment feed

MonorailをVS2005 ExpressEditionで開発する方法まとめ

Wednesday, 26 March 2008 16:03 by sabro

VS StandardEdition以上だと、MonoRailのインストーラで、MonoRail Projectというプロジェクトテンプレートが作られて、かなり簡単に開発を進めれるのですが、ExpressEditionの場合は、開発を始めるまでも一苦労です。以下にその手順を紹介します。

1. VC# ExpressEditionでクラスライブラリ作成

VC#2005 ExpressEditionで、好きなフォルダにクラスライブラリプロジェクトを作成します。このフォルダは後に、WebのDocumentRootになるので注意。ちなみにMonoRailは、VS2008に公式には対応していないそうです。

2. 参照設定追加

以下のライブラリを参照設定に追加します

  • System.Web
  • Castle.MonoRail.Framework
  • Castle.MonoRail.Views.AspView
System.Webは最初から.NETにあります。Castle.MonoRail.Frameworkは、MonoRailのコアとなるライブラリで、MonoRailのプロジェクトページからダウンロードできます。最後のCastle.MonoRail.Views.AspViewですが、これは少し特殊で、AspViewというViewEngineを使用する場合のみ必要になります。ダウンロードも別途AspViewのサイトから行います。

3. コントローラクラスの作成

MonoRailはMVCなフレームワークです。そこで、コントローラクラスも必要になってきます。まずは、クラスライブラリプロジェクトに、「Controllers」という名前のフォルダを追加し、その中に、SmartDispatcherControllerを継承したクラスを作成します。クラスを作成したら、その中に適当な名前の関数を定義しておきましょう。この関数名はURLの一部になります。

4. ビルド出力パスの変更

次にプロジェクトのプロパティから、ビルドの出力パスを「bin\Release\ → bin\」と変更します。いらなくなったDebug、Releaseフォルダはエクスプローラから削除しておきましょう。

5. VisualWebDeveloperでWebサイト作成

VisualWebDeveloperを起動し、メニューの新規プロジェクトで、ASP.NET Webサイトを作成します。このとき、場所はファイルシステムの先ほど作成したプロジェクトのフォルダを指定します。(ソリューションフォルダ、プロジェクトフォルダなどあって分かりにくいですが、binを直接含んでいるフォルダです)。すると、Webサイトは既に存在します、というダイアログが表示されるので、「既存の場所に新しいWebサイトを作成するを選んでOKを押します。プロジェクトが作られたら、DeveloperWebサーバの仮想パスを「/」にしておきます。

6. web.configの編集

web.configをプロジェクトに追加後、内容を全て消して、Minimal Web.Config for MonoRail with AspViewにあるAspView用のweb.config最小設定を貼り付ける。さらに、以下の内容を自分のプロジェクト用に編集する。

  • aspviewタグ → referenceタグ → assembly属性を自分のプロジェクトの名前に
  • monoRailタグ → controllersタグ → assemblyタグの内容を自分のプロジェクトの名前に

7. ビューの作成

VisualWebDeveloperのプロジェクト直下にViewsという名前のフォルダを作成。さらにその下に、コントローラ名のフォルダを作り、コントローラクラスに定義されているメソッド名と同じ名前のViewを作成します。


Controllerクラス名 HomeController
Controllerクラスのメソッド名 Index
作成するView Views\Home\Index.aspx


作成したViewの先頭には、次のディレクティブを書いておきます。ブラウザが真っ白なのもアレなので、動作確認用に何か文字列も書いておきましょう。
<%@ Page Language="C#" Inherits="Castle.MonoRail.Views.AspView.ViewAtDesignTime" %>

8. 動作確認

まずは、Webプロジェクトのプロパティから、開始オプション → ページを指定するで作成したページを指定します(上記の例なら、/Home/Index.mvc)。指定後はデバッグを開始してみます。ビルドエラーが発生しますが、気にせず最後に成功したビルドで実行します。初回起動時は、デバッグ用にweb.configの書き換えダイアログが表示されるのでOKを押します。手順があっていれば、HTMLが正しく表示されるはずです。

Tags:   ,
Categories:   .NET
Actions:   Permalink | Comments (41) | Comment RSSRSS comment feed

MonoRailをやってみる

Sunday, 23 March 2008 05:31 by sabro

SecondLife向けサービスの案が浮かんだので、ちょっと久々にWeb開発やることにします。

何の言語で作るか、かなり迷ったのですが、libsecondlifeという.NETで作られたSecondLife向けライブラリと連携できるようにしておいた方が、将来的に便利そうなので、.NETでMonoRailを使って開発することにしました。.NETでWeb開発というと、ASP.NETが主流(というかこれ以外は普通使わない)なのですが、これだと余分なJavascriptコードが入ったり、HTMLが汚くなりがちなので、あえてMonoRailでやります。

早速、検索をかけてみたのですが、日本語情報は壊滅状態でした ( ̄□  ̄ ||)
まあ、ゆっくりと調べながらやっていこうと思います。

Tags:  
Categories:   .NET
Actions:   Permalink | Comments (30) | Comment RSSRSS comment feed