もう2週間以上も前になりましたが、米国で「BUILD」と呼ばれるイベントが開催されました。Windows8とかVisual Studio11とかMetroアプリで盛り上がっていましたが、個人的にはこのASP.NET MVC4にくぎ付けになりました。
Windows8 Developer Previewのリリースとほぼ同じタイミングで、ASP.NET MVC4 Developer Previewがリリースされました。
インストールはこちらから行うことができます。
http://go.microsoft.com/fwlink/?LinkID=226335
リリースノートはこちらです。
http://www.asp.net/learn/whitepapers/mvc4-release-notes
リリースノートをもとに新機能を紹介します。
新プロジェクトテンプレート
プロジェクトテンプレートが一新されました、今までのテンプレートの面影がなくなっています。ただ、これまでのレガシーな野暮ったいデザインのコンテンツは似合わなくなっています。
スマホブラウザでの表示も意識されています、このようにスマホでの表示にも最適化されるようになっています。(確かiPhone, Android, WPともに対応です)
モバイルプロジェクトテンプレート
プロジェクトテンプレートに「Mobile Application」が新しく追加されました。jQueryMobileを使用したスマートフォン用サイトテンプレートが用意され、モバイル向けコンテンツが作成しやすくなっています。
PC用のブラウザで表示していますが、プロジェクトテンプレートのトップページはこのようになっています。
Display Modes
ブラウザのUser-Agent文字列に応じて、Viewを切り替えやすくする機能の強化です。(たぶん)PC用のViewとモバイル用のViewを切り替えやすくなるのではないかと思います。リリースノートのサンプルではラムダで条件を指定しています。
jQuery Mobile, the View Switcher, and Browser Overriding
Nugetから別途パッケージをインストールする必要があるようですが、よくある「スマートフォン用サイトに切り替えますか?」という機能が実現しやすくなるようです。
Recipe
Visual Studioから使える、ソリューション内の特定の作業を行うためのダイアログを持った機能のようです。Modelやコントローラーのコードの自動生成、フルブラウザ向けViewからモバイル向けViewを自動作成するなど、以前はVisual Studioを離れて、ExcelVBAや別途作成したexeなどで実行していた内容が、Visual Studioからできるようになる(?)ようです。詳細はよくわかりません…
またRecipeプログラムはNugetを通じて配信できるようです。
非同期コントローラのTaskサポート
非同期コントローラーのアクションメソッドでTask<ActionResult>型を返すようにできるようです(?) この機能もよくわかりません。
Azure SDK統合
Azure SDK 1.5をインストールすると、まだDeveloper PreviewなのにMVC4プロジェクトをAzureのWebロールとして使用できます。デプロイするともちろんWindows Azure上(Webロール)でMVC4アプリが動作します。
詳細はAzure SDK 1.5の紹介をするエントリーを書く予定なので、そちらで触れたいと思います。
以上がリリースノートに記載されているMVC4 Developer Previewの紹介です。
Buildイベントで、HTML+JavaScriptでMetroアプリが作れると紹介されていました。それならWebアプリケーションでMetro風UIを実現するためのプロジェクトテンプレートが含まれていてもいいのではと思いましたが、現状は含まれていません。IE10がインストールされていなければならないのか、鋭意作成中なのか、そもそもWebアプリにMetro風UIを実現するためのテンプレートを用意するつもりがないのか分かりませんが、MVC4β時点やWindows 8β時点で、WebアプリでもMetro風UIが実現しやすくなればいいなと思います。