BT

続報:F#と他言語でRazor

| 作者: Jonathan Allen フォローする 593 人のフォロワー , 翻訳者 編集部N フォローする 0 人のフォロワー 投稿日 2011年1月5日. 推定読書時間: 2 分 |

原文(投稿日:2011/01/03)へのリンク

先月、Vladimir Kelman氏が新しい Razorビュー エンジンをF#で使うことができるか質問した。 Scott Guthrie と Marcin Doboszの両氏と話して、必要なプラグインを全て自分でビルドして、インストールすればできることがわかった。

最初のハードルは、シンタックスである。古いASPスタイルのビュー エンジンと違って、ビューとインラインコード間の境界は、非常に微妙で、多くの言語が構文的に非互換である可能性が高い。 Scott Guthrie氏によれば、「Razorは概念的にはF#をサポートできる(シンタックスは問題ない、という意味」。彼は、その後、実際に繋ぐために何が必要かを説明した Marcin Dobosz 氏との話で、前のことを撤回した。

純粋のRazor側(System.Web.Razor.dll)では、 CodeParser, RazorCodeGenerator そして RazorCodeLanguageから派生した自分のクラスを(必要な他のユーティリティ クラスと一緒に)実装する必要があり、それから、ファイル拡張子を RazorCodeLanguage.Languagesで登録します。あなた自身の言語を実装するためのチュートリアルはないので、ソースを見て、 CSharp やVBに関連したクラスが何をやっているのか見る必要があるでしょう。

MVCサイド(もし@modelをサポートしたいなら)では、 MvcWebPageRazorHostから派生し、自分のベースのパーサーやジェネレータから派生したMVC特有のパーサーとジェネレータを返す必要があります。同じように、 System.Web.Mvc.Razorネームスペースにあるクラスのソースコードを見てください。あるいは、これらをあなたのベースのパーサーとジェネレータに実装することもできます。そうすると、すべてがMVCプロジェクトのみでしか動かなくなりますが。

もちろん、これは、新しい言語でRazorを動かすための本当に最小限のことである。もしあなたがパーサーやジェネレータを書く労力を惜しまないなら、Visual Studioでちゃんと動くために必要なプロジェクト、アイテムそしてT4テンプレートを作成するための、余分な仕事も喜んでやるだろう。

ASP.NET MVC 3の October 2010 betaのソースコード は、 Codeplexで入手できる。ASP.NET プレリリース コンポーネント用Microsoft ソースコード ライセンスのもとでリリースされている。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには 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