ASP.NET MVC Framework

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

ASP.NET MVCは、Microsoftが開発・提供している、Model View Controller (MVC) パターンをベースとしたアプリケーションを開発するためのASP.NETWebアプリケーションフレームワークである。

概要[編集]

ASP.NET MVCが登場するまでは、ASP.NETでのウェブアプリケーションの開発で使用できるフレームワークはASP.NET誕生当時から存在するWeb Formに限定されていた。 Web Formは従来のWindows Formと同様GUI上から直観的に画面や処理の作成でき、自動でコーディングされる部分が多く他のWebアプリケーションフレームワークと比べ高い生産性がある反面、通信負荷の高いビューステートやHTMLに準拠しない独自のタグ等、他のWebアプリケーションフレームワークとは一線を画した仕様となっている。 このような特徴は他のWebアプリケーションフレームワーク(Apache StrutsCakePHP等)で開発してきた者にとって全く未経験の技術となる為ハードルが高く、ASP.NETでの開発が敬遠される一因ともなっていた。

そのような背景を踏まえ、ASP.NET MVCはASP.NETにおける独自機能を排除し他のWebアプリケーションフレームワークで主流となっているMVCパターンをベースとしたWebアプリケーションフレームワークとして開発された。[1] Web Formとは全く別のフレームワークとして新たに開発されたため、登場後はASP.NETには2つのフレームワークが存在しているため、Webアプリケーションの開発時はいずれかが選択することとなる。

リリース[編集]

日時 バージョン
2007年12月10日 ASP.NET MVC CTP
2009年3月13日 ASP.NET MVC 1.0[2]
2010年3月10日 ASP.NET MVC 2.0[3]
2011年1月13日 ASP.NET MVC 3.0[4]
2012年8月15日 ASP.NET MVC 4.0[5]
2013年10月17日 ASP.NET MVC 5.0[6]
2014年1月17日 ASP.NET MVC 5.1[7]

2009年4月より、ASP.NET MVCのソースはMicrosoft Public License (MS-PL) の元でリリースされている[8]

2012年3月より、ASP.NET MVCやRazor、Web APIなどを含むソースはApache License 2.0の元でリリースされている[9]

アーキテクチャ[編集]

Model[編集]

Modelにはマイクロソフトが.NET Frameworkの一部として提供しているLINQ to SQLEntity Frameworkがよく用いられているが、ASP.NET MVC 自体はModelを提供しておらず、利用者が自由に選択することが可能である。

View[編集]

Viewにはバージョン 2.0 まではASP.NETでも用いられている拡張子がaspxのファイルしか利用できなかったが、バージョン 3.0 からはRazorと呼ばれる全く新しいビューエンジンが追加された。

Controller[編集]

Controllerは通常のクラスとして定義するが、そのクラスの公開メソッドがアクションとしてランタイムから呼び出される。使用するコントローラとアクションはURLルーティングによって決定される。

脚注[編集]

外部リンク[編集]