ASP.NET MVC Framework

ASP.NET MVCは、マイクロソフトによって開発されたWebアプリケーションフレームワークであり、 Model View Controller （MVC）パターンを実装している。新規の開発はすでに停止している。 プロプライエタリソフトウェアであるASP.NET Web Formsとは分離されており、ASP.NET MVCはオープンソースソフトウェアとなっている。 その後、ASP.NET Coreがリリースされ、ASP.NET、ASP.NET MVC、ASP.NET Web API、ASP.NET Web Pages (Razorページのみを使用するプラットフォーム)が統合された。 MVC 6はCoreのために放棄され、リリース予定はない。Coreは現在、「.NET 5」に統合予定である。 ASP.NETをベースとしているASP.NET MVCを使用すると、ソフトウェア開発者は、モデル、ビュー、コントローラーの3つの役割の組み合わせでWebアプリケーションを構築できる。 MVCモデルは、次の3つの論理層でWebアプリケーションを定義する。 モデル（ビジネス層） ビュー（表示レイヤー） コントローラー（入力制御） モデルは、アプリケーションの特定の側面の状態を表す。コントローラーは相互作用を処理し、アプリケーションの状態の変化を反映するようにモデルを更新してから、情報をビューに渡す。ビューは、コントローラーから必要な情報を受け取り、その情報を表示するためのユーザインタフェースを描画する。 2009年4月、ASP.NET MVCソースコードは、 Microsoft Public License (MS-PL) の下でリリースされた。 「ASP.NET MVCフレームワークは、既存のASP.NETの機能と統合された、軽量で高度にテスト可能なプレゼンテーションフレームワークである。これらの統合された機能のいくつかは、マスターページとメンバーシップベースの認証を使う。 MVCフレームワークはSystem.Web.Mvcアセンブリで定義されている。」 ASP.NET MVCフレームワークは、インタフェースベースのコントラクトを使用してモデル、ビュー、およびコントローラーを結合し、それによって各コンポーネントを個別にテストできるようにする[要出典]。 2012年3月、 スコット・ガスリーはブログで、マイクロソフトがオープンソースライセンス（Apache License 2.0）に基づきWebスタックの一部（ASP.NET MVC、 Razor 、およびWeb APIを含む）をリリースしたことを発表した。 ガスリーは次のように述べた。「そうすることで、コミュニティの全員がコードチェックイン、バグ修正、新機能の開発に関与してフィードバックを提供し、ソースコードとテストの最新バージョンの製品を毎日使用してビルドおよびテストできる、よりオープンな開発モデルが可能になる。」 ソースコードはCodePlexで公開されている。 ASP.NET Web Formsは、さまざまな理由でこのイニシアチブに含まれていない。 ASP.NET MVC3およびMVC4フレームワークで使用されるビューエンジンは、 RazorとWeb Formsである。 両方のビューエンジンともMVC3フレームワークの一部である。デフォルトでは、MVCフレームワークのビューエンジンは、Razor .cshtmlと.vbhtml 、またはWeb Formsの.aspxページを使用して、データを構成するユーザインタフェースページのレイアウトを設計する。異なるビューエンジンも使用できる。 さらに、デフォルトのASP.NET Web Formsのポストバックモデルの替わりに、すべての対話はASP.NET ルーティングメカニズムを通じてコントローラーにルーティングされる。ビューは異なるURLにマップできる。 その他のビューエンジン： MVCContribライブラリには、Brail、NDjango、NHaml、NVelocity、SharpTiles、Spark、StringTemplate、XSLTの8つの代替ビューエンジンが含まれる。 StringTemplate View Engineは.NETにポートされたJavaテンプレートエンジンであるStringTemplateを利用する 。 SparkはASP.NET MVC（およびCastle Project MonoRail）フレームワークのビューエンジンである。 NDjangoはDjango Webフレームワークのテンプレート言語の.NETへのポートであえる。 F#で記述されており、IntelliSenseの完全サポートを含むVisual Studio拡張機能が付属している。 Naked Objects for .NETは、ASP.NET MVCを使用したNaked Objectsパターンの実装である。 Model-View-ViewModel Model-View-Adapter Model-View-Presenter Observer パターン Presentation–Abstraction–Control Hierarchical Model–View–Controller ^ “Nuget package Microsoft.AspNet.Mvc”. 2019年1月10日閲覧。 ^ “MVC Releases”. Official Microsoft ASP.NET Site. 18 May 2016閲覧。 ^ Rick Anderson. “Intro to ASP.NET MVC 3 (VB)”. The Official Microsoft ASP.NET Site. 17 January 2015閲覧。 ^ https://devblogs.microsoft.com/dotnet/introducing-net-5/ ^ a b Scott Guthrie. “ASP.NET MVC Framework”. 22 October 2007時点のオリジナルよりアーカイブ。2007年10月23日閲覧。 ^ Scott Guthrie. “ASP.NET mvc 1.0 Source Released”. 3 April 2009時点のオリジナルよりアーカイブ。2009年4月2日閲覧。 ^ Koirala (27 September 2014). “Webform vs MVC performance comparison done with 25 user load test.”. codeproject. 27 September 2014閲覧。 ^ “ASP.NET MVC”. aspnet4.com. 17 January 2015閲覧。 ^ Scott Guthrie. “ASP.NET MVC, Web API, Razor and Open Source”. 29 March 2012閲覧。 ^ Scott Hanselman. “ASP.NET MVC 4, ASP.NET Web API and ASP.NET Web Pages v2 (Razor) now all open source with contributions”. 29 March 2012閲覧。 ^ “Download ASP.NET MVC 1.0 from Official Microsoft Download Center”. マイクロソフト. 17 January 2015閲覧。[リンク切れ] ^ Phil Haack. “ASP.NET MVC 2 RC Released”. 17 January 2015閲覧。 ^ Phil Haack. “ASP.NET MVC 2 RC 2 Released”. 17 January 2015閲覧。 ^ “Download ASP.NET MVC 2 RTM from Official Microsoft Download Center”. マイクロソフト. 17 January 2015閲覧。 ^ “ASP.NET MVC 3”. The Official Microsoft ASP.NET Site. 17 January 2015閲覧。 ^ “Announcing ASP.NET MVC 3 (Release Candidate 2)”. weblogs.asp.net. 17 January 2015閲覧。 ^ “Download ASP.NET MVC 3 RTM from Official Microsoft Download Center”. マイクロソフト. 17 January 2015閲覧。 ^ “ASP.NET”. CodePlex. 17 January 2015閲覧。 ^ “ASP.NET MVC 4”. The Official Microsoft ASP.NET Site. 17 January 2015閲覧。 ^ “MSDN Blogs”. マイクロソフト. 17 January 2015閲覧。 ^ “MSDN Blogs”. マイクロソフト. 17 January 2015閲覧。 ^ “ASP.NET and Web Tools 2012.2 Release Notes”. The Official Microsoft ASP.NET Site. 17 January 2015閲覧。 ^ Microsoft ASP.NET Team. “ASP.NET and Web Tools for Visual Studio 2013 Release Notes”. The Official Microsoft ASP.NET Site. 17 January 2015閲覧。 ^ “Microsoft ASP.NET MVC 5.2.2”. NuGet. 17 January 2015閲覧。 ^ “Announcing ASP.NET MVC 5.2.4, Web API 5.2.4, and Web Pages 3.2.4”. マイクロソフト. 14 March 2018閲覧。 ^ “Announcing ASP.NET MVC 5.2.5, Web API 5.2.5, and Web Pages 3.2.5”. マイクロソフト. 4 May 2018閲覧。 ^ “aspnet/Mvc”. GitHub. 30 September 2016閲覧。 ^ “NuGet Gallery: Microsoft.AspNetCore.Mvc”. 2018年3月16日閲覧。 ^ “Release 2.0.0 · aspnet/Mvc”. Official Microsoft ASP.NET Site. 2017年8月29日閲覧。 ^ “Microsoft.AspNetCore.Mvc”. NuGet. 2018年5月30日閲覧。 ^ “Microsoft.AspNetCore.Mvc”. NuGet. 2018年6月18日閲覧。 ^ “aspnet/AspNetCore”. マイクロソフト (2019年11月14日). 2019年11月14日閲覧。 ^ “dotnet/aspnetcore”. マイクロソフト. 2020年12月21日閲覧。 ^ “dotnet/aspnetcore”. マイクロソフト. 2020年12月21日閲覧。 ^ “ScottGu's Blog - Introducing "Razor" – a new view engine for ASP.NET”. asp.net. 2020年12月21日閲覧。 ^ “ASP.NET MVC 3”. The Official Microsoft ASP.NET Site. 2020年12月21日閲覧。 ^ “Scott Hanselman's ASP.NET MVC Preview 2 Screencast Tutorials”. 2008年10月29日時点のオリジナルよりアーカイブ。2008年10月13日閲覧。 ^ MVCContrib ^ “string-template-view-engine-mvc - ASP.Net MVC ViewEngine for StringTemplate - Google Project Hosting”. google.com. 2020年12月21日閲覧。 ^ “Spark View Engine”. CodePlex. 2020年12月21日閲覧。 ^ “ndjango - An implementation of the Django Template Language on the .NET platform, using the F# language. - Google Project Hosting”. google.com. 2020年12月21日閲覧。 Jon Galloway, Phil Haack, Brad Wilson, and K. Scott Allen, Professional ASP.NET MVC 3, Wrox, 2011, ISBN 1-118-07658-3 Jeffrey Palermo, Jimmy Bogard, Eric Hexter, Matthew Hinze, and Jeremy Skinner, ASP.NET MVC 4 in Action, Manning Publications, 2012, ISBN 978-1617-29041-1 Steven Sanderson, Adam Freeman, Pro ASP.NET MVC 3 Framework, Second Edition, Apress, 2011, ISBN 1-4302-3404-0 Jonathan McCracken, Test-Drive ASP.NET MVC, Pragmatic Bookshelf, 2010, ISBN 1-934356-53-0 Stephen Walther, ASP.NET MVC Framework Unleashed, Sam's, 2009, ISBN 0-672-32998-0 Arnaud Weil, Learn ASP.NET MVC, 2015, ISBN 1-32648303-X Andrew Lock, ASP.NET Core in Action, Manning Publications, 2018, ISBN 978-1617-29461-7 公式ウェブサイト