BT

ASP.NET MVCの4つのビューエンジン

| 作者: Jonathan Allen フォローする 530 人のフォロワー , 翻訳者 尾崎 義尚 フォローする 0 人のフォロワー 投稿日 2010年7月15日. 推定読書時間: 3 分 |

原文(投稿日:2010/07/05)へのリンク

先週、ASP.NET MVCの4つめのメジャーなビューエンジンRazorが紹介された。他にはSpark、NHamlそして、従来からのASPXファイルテンプレート。この記事では、新しいRazorエンジンにフォーカスして4つのエンジンを紹介する。

ASPXスタイルのビューエンジンは、クラシックASPに遡る。プレースホルダには、<%= %>か新しい<%: %>シンタックスが使われる。ASPCコントロールは、時間をかけてマスタページになったが、これはまた、ページのライフサイクルが高価になることにつながった。

CastleプロジェクトのMonoRailで使用可能なSparkは、若干異なるアプローチを取る。これは、プレースホルダーをサポートし、HTMLと特別な属性とタグを使用したコードを自由に組み合わせることができる。いくぶん冗長ではあるが、完全なXML規約に則ることができるというアドバンテージがある。

NHamlは、Hamlマークアップ言語の.NET実装である。この言語は、XMLに似た記述方法だけではない。使い方は、略称を並べる形式で、終端タグのような多くの記述上のノイズを取り除くことができる。

最も新しいマイクロソフトのビューエンジンは、Razorである。すべてのテンプレートシステムには、共通した特徴があったが、これは他の3つのビューエンジンとは異なる特徴を持っている。NHamlのようなXMLマークアップではなく、SparkのようにXMLを使わないものでもない。ASPXに完全に似ておらず、@シンボルの後ろの式か通常のコントロールブロックのプレイスホルダを置き換えるのみである。特別な終端マークは必要なく、結果のコードは完結である。

デフォルトで、すべてのテキストは、よりHTMLエンコードされる。@式から始まるすべてのテキストは、デフォルトでHTMLエンコードされる。テキストは、@ブロックの内部に“コンテントブロック”を含めることができる。XMLタグを表現したり、HTMLモードに切り替えたい時には、クラシックASP開発者と同じく%> html <%=トリックを使用することができる。もし、タグを出力して欲しくない場合は、<text>をプレースホルダとして使用することができる。

既存のVBやC#のシンタックスが使用できるため、マイクロソフトは、Razorが簡単に学習できると期待している。そして、あらゆるテキストエディタが使用でき、Visual Studio 2010は、Razorファイルの完全なインテリセンスが使用できるアップデートを提供している。

Razorのもうひとつの重要な機能は、単体テストフレームワークとの互換性である。Razorテンプレートは、コントローラやWebサーバによるホストは必要なく、ビューは完全にテスト可能に書くことができる。理論上、あらゆるものがテスト可能だが、ASPXのほかの2つのエンジンは、それぞれのWebサイトにおけるテスト可能性については議論してこなかった。

すべての4つのビューエンジンは、マスタページのコンセプトをサポートしているため、これについては、あまり語られなかった。アセンブリ内に事前コンパイルされたビューは、ASPXでは部分的、RazorとSparkによる完全にサポートされている。NHamlは、現行では機能の要求リストに含まれている。RazorとSparkの特に興味深いところは、事前コンパイルされたビューとメール統合エンジンのようにホストされていないシナリオに使えるところである。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT