はじめに
Visual Studio 2008(以下、VS2008)、.NET Framework 3.5(以下、.NET 3.5)のリリースから一年も経たないうちにSP1がリリース予定となっており、バグフィックスの他、大規模な機能追加が見込まれています。本連載では、その中でもASP.NETに関する部分をピックアップし、複数回にわたって紹介します。
.NET Framework 3.5 SP1における機能追加
大きく分けて、ASP.NET部分での機能強化は下図のようになっています(図1)。
- ASP.NET Dynamic Data
コードを記述せずにデータ管理ページを作成する機能
- ADO.NET Data Services
ADO.NET Entity Frameworkを利用し、RESTfulな実装が可能なデータサービス
- ASP.NET controls for Silverlight
Silverlight(メディアとXAML)をホストするコントロールと既存コントロールの機能拡張
また、SP1には含まれていませんが、ほぼ同時期にリリース予定のテクノロジーとして「ASP.NET MVC Framework」(以下、ASP.NET MVC)があります。
- ASP.NET MVC Framework
ASP.NET 3.5の上で動作するMVC形式の開発を行えるフレームワーク
それぞれが魅力的なテクノロジですが、中でも特に注目を集めるであろうASP.NET MVCにまずはフォーカスを当て、2回にわたって解説します。
ASP.NET MVC 概要
さて、本題の前に少しASP.NETについて振り返ってみましょう。
Visual Studio .NETが登場した時にASP.NETは産声を上げました。「Webの深い知識を必要とせずに、既存のクライアントアプリケーションのような開発ができる」というメリットを前面に出したフレームワークだったので、WebFormモデル(従来のASP.NET開発)は、クライアント開発だけ行ってきたプログラマーでも積極的に開発を進めることができました。
具体的な仕組みとしてはポストバック・ViewState・コードビハインドがあり、これらがWeb開発未経験者の大きな助けとなったと言えます。また、ASP.NET AJAXの登場やVS 2008のIDEの機能強化も手伝い、ASP.NET開発は高い開発生産性を保証します。
しかし、Web開発の間口は広くなったものの、少し複雑な開発をするにはHTML+CSS+JavaScriptの関係を深く知って開発をする必要がありました。特に、WebFormモデルは、コードビハインド型が主流です。コードビハインド型はUIとビジネスロジックを分離できますが、実行時にはUIとロジックを合体させてコンパイルします。このため、現状のテストはWebサーバー(仮想サーバーもしくはIIS)を起動し、UIから該当のビジネスロジックを実行する必要がありました。つまり、コードビハインドのビジネスロジックのテストを行うためには工夫や多くの作業が必要でした。
また、Webの世界でメジャーだったMVCアーキテクチャを利用した開発を行いたいという要望も多くありました。
今回登場したASP.NET MVCフレームワークは、従来のWebFormモデルとは異なり、テスト駆動に進化したASP.NETのフレームワークです。ただし、ASP.NET MVCフレームワークはWebFormモデルから分離して構築されたフレームワークであると考える必要があります。
WebFormモデルで多用していたViewStateやPostBackから離れたアプリケーション構築を行わなければなりません。
必要な環境
次の環境が必要です。
- Visual Studio 2008
- ASP.NET MVC Preview 3
Visual Studio 2008のインストールは、Visual Studio 2008入門 第1回を参考に行ってください。
ASP.NET MVC Preview 3は、Microsoft Download Centerからダウンロードできます。インストールは、インストーラのウィザードに従って進めるだけです。このウィザードで、プロジェクトテンプレートはインストールできます。しかし、項目のテンプレートはインストーラーから完全にインストールされません。以下の手順でインストールを行ってください。
1.フォルダの準備
初期インストールでは以下の場所に項目テンプレートが展開されます(カスタムでインストール先を変更した場合はその場所を参照してください)。
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\CSharp\Web\MVC\1033
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\ItemTemplates\VisualBasic\Web\MVC\1033
この1033フォルダを同じ場所にコピー&ペーストし1041と名前を変更します。
2.Visual Studio 2008 コマンドプロンプト を管理者実行して以下のコマンドを実行
devenv /InstallVSTemplates
以上の手順でインストールは完了です。
Model View Control
ご存じの方も多いかと思いますが、簡単にMVCについてまとめます。
役割 | 概要 |
Model | データの管理を行うコンポーネント。例えば、LINQ to SQLなどのデータ定義を行うなど。 |
View | HTMLの出力を行うコンポーネント。大抵はモデルのデータを元に出力。 |
Controller | モデルの操作、ビューへのリクエストの選択を行うコンポーネント。ユーザーからのリクエストに応える処理を一元管理。 |
前編で触れる部分
前編では最もキモとなる「URLルーティング」と「ViewData」について解説し、それらを利用したサンプルアプリケーション構築します。
- ASP.NETとASP.NET MVCの比較
- URLルーティング
- ViewDataの利用方法
- サンプルアプリケーションの作成