はじめに
ASP.NET MVCのリリースから1年ほどで、ASP.NET MVC 2(以下、MVC 2)がリリースされました。本連載では3編に分けてASP.NET MVCから強化された点を紹介します。使用するVisual Studioのバージョンは2010ですが、2008でも同様のサンプルを実行できますのでご安心ください。
なお、ASP.NET MVCの基本的な開発については過去の連載を参照してください。
- ASP.NET MVCフレームワークの概要を理解する
- ASP.NET MVCで簡単なアプリケーションを構築しよう
- ASP.NET MVCで認証、テスト、フィルタ機能、AJAXを活用しよう
- ASP.NET MVCの開発応用編1 ~リポジトリパターンをマスターする~
- ASP.NET MVCのセキュリティ対策とクライアントサイドスクリプト活用方法
- ASP.NET MVCと周辺技術の活用テクニック
必要な環境
次の環境が必要です。
Visual Studio 2008の場合
- Visual Studio 2008
- Visual Studio 2008 SP1
- ASP.NET MVC 2 RTW版
- Pubsデータベース
Visual Studio 2010の場合
- Visual Studio 2010(Visual Web Developer 2010でもOK)
- Pubsデータベース
VS 2008のインストールは、Visual Studio 2008入門 第1回を参考に行ってください。
VS2008 SP1のインストールは『簡単なデータ編集はお任せ! ASP.NET Dynamic Dataアプリケーション』を参考に行ってください。ASP.NET MVC 2 RTW版のインストールはインストーラーに沿ってインストールを進めるだけです。
Visual Studio 2010(以下、VS 2010)のインストールは、Visual Studio 2010 Beta 2と変わりありませんので、『Visual Studio 2010 Beta 2を使ってみよう』を参考に行ってください。
なお、本サンプルプログラムを動作させるに当たっては、無償で提供されているNorthWindデータベースとPubsデータベースを使用しています。
今回触れる内容
前編では、次の内容に触れます。
- ASP.NET MVC 2の概要
- エリア(Areas)
- コードナゲット
- 強い型付けヘルパー
- 新しいHTTPメソッド属性のサポート
ASP.NET MVC 2 概要
MVC 2は、基本的にMVC 1からの機能拡張版です(図1)。そのため、MVC 2がリリースされた今、MVC 2で開発を行うことが多くなるでしょう。
MVC 1で既に開発を実施していたプロジェクトもあるでしょう。互換性がある程度ありますが、細かな部分で修正が必要になります。例えば、MVC 1にはなくMVC 2で追加されているdllの参照追加や、web.configの記載の修正、JavaScriptファイルの追加などです。全部調べてマイグレーションをするのにはある程度工数がかかりますが、現在MVC 1からMVC 2へのマイグレーションツールが提供されているので、そちらを利用することで工数を削減して開発生産性がより向上したMVC 2プロジェクトへとマイグレーションすることができます。
VS2010/VS2008 SP1での開発の違い
MVC 2は.NET 3.5 SP1向けと.NET 4向けの両方が提供されているため、Visual Studio 2008(以下、VS 2008)とVisual Studio 2010(以下、VS 2010)のどちらでも開発ができます。バージョンの差異による違いは下記の通りです。
- .NET Frameworkのライブラリや言語拡張部分
- IDEの機能
- 日本語対応(VS 2008は英語のみ)
.NETのバージョンが異なるため、VS 2008では利用できないライブラリもありますし、言語拡張された部分も利用できません。また、VS 2008で提供されているMVC 2インストーラーは英語版のみの提供となります。一方VS 2010では、MVC 2の日本語Language Packも適用されるため、メニューなどが和訳された状態で表示されます。
いかがでしょう? 機能的に差分があるとVS 2010で開発を進めたくなる方も多いとは思いますが、MVC 2アプリを開発する上では悲観するほどではありません。
むしろ、VS 2008からVS 2010へのリプレースが進まない場合でもMVC 2開発ができるのは素直に喜べる点ではないでしょうか。
なお、本稿の記事ならびにサンプルはVS 2010ベースで記載しているため、VS 2008の場合、選択肢名など(英語表示やメニュー名)が多少異なる点がありますが、コーディングの上では影響ありません。
それでは、MVC 2の新機能を見ていきましょう。