BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース ASP.NET MVC 4がgo-liveに

ASP.NET MVC 4がgo-liveに

原文(投稿日:2012/02/22)へのリンク

最初のASP.NET MVC 4ベータが先日、“go-live”ライセンスとしてリリースされた。これはリリース準備ができていて、Microsoftがそれを製品利用するに値すると考えていることを意味している。Razorビューエンジンの改善、非同期サポート、WebSocketsなどの拡張が含まれている。

Razorビューエンジン

ASP.NET MVCのデフォルトビューエンジンは、多くの定型コードが必要なくなるように設計されたいくつかの新しい機能を提供している。~/ から始まるHTML属性は、自動的にアプリケーションルートに置き換えられて、開発者は、Url.Content関数を使う必要がなくなる。もうひとつの大きな改善は、条件属性(conditional attributes)である。class="@myClass"の記述で、myClass変数がnullだった場合、属性は自動的に削除される。

メモ: この機能は、ASP.NET Webページ2で共有されている。

CSSとJavaScriptの管理

MVC 4は、ブラウザにコンテンツが配信される時間を短くするために、まとめて、最小化することを開発者に推奨している。クライアントに必要な全てのファイルを列挙する代わりに、開発者はResolveBundleUrl関数を使ってフォルダ内の全てのファイルをキャプチャすることができる。Jon Galloway氏は、jQueryのような汎用ライブラリを更新したときには特に便利だと記している。

モバイル開発

MVC 4には標準的なモバイルテンプレートにjQueryモバイルが含まれている。これらのテンプレートはビューを構築するときに、ディスプレイモードサブシステムを通じてアクセスされる。デフォルト(つまりデスクトップ)とモバイルモードだけでは、デフォルトで登録されているが、開発者は自由にモードを追加することができる。一般的にこれはユーザーエージェント文字列によって決まるが、理論的には多くの柔軟性を持っている。

非同期コントローラ(Asynchronous Controllers)のTaskサポート

MVC4とC# 5による非同期パターンへの変更は簡単だが、継続的に誰かが書き込みをブロックするスタイルのコントローラメソッドを想像するのは難しい。ActionResultを返す代わりに、単に“async Task<ActionResult>”だけを返すようにする。もちろん、サービス呼び出しをawaitスタイルの呼び出しをサポートするように変更する必要はあるが、ほぼ機械的に変換できるため、インターンやジュニア開発者で対応できる程度のものである。

非同期コントローラーはキャンセルトークンもサポートしている。気付かずにスレッドが失敗するのではなく、プロセスのコールスタックに参加することができる。実際のCancellationTokenインスタンスは、フレームワークから提供され、開発者はサービス呼び出しにそれを送るだけである。

この記事に星をつける

おすすめ度
スタイル

BT