ASP.NET MVC Framework
開発元 | マイクロソフト |
---|---|
最終版 |
5.2.7
/ 2018年11月28日[1] |
最新評価版 |
6.0.0-rc2
/ 2016年5月17日[2] |
リポジトリ | |
プログラミング 言語 | C#, VB.NET[3] |
対応OS | Cross-platform |
プラットフォーム | .NET Framework, Mono |
後継 | ASP.NET Core |
種別 | Webアプリケーションフレームワーク |
ライセンス | Apache License 2.0 |
公式サイト |
dotnet |
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」に統合予定である[4]。
背景
[編集]ASP.NETをベースとしているASP.NET MVCを使用すると、ソフトウェア開発者は、モデル、ビュー、コントローラーの3つの役割の組み合わせでWebアプリケーションを構築できる。 MVCモデルは、次の3つの論理層でWebアプリケーションを定義する。
- モデル(ビジネス層)
- ビュー(表示レイヤー)
- コントローラー(入力制御)
モデルは、アプリケーションの特定の側面の状態を表す。コントローラーは相互作用を処理し、アプリケーションの状態の変化を反映するようにモデルを更新してから、情報をビューに渡す。ビューは、コントローラーから必要な情報を受け取り、その情報を表示するためのユーザインタフェースを描画する[5]。
2009年4月、ASP.NET MVCソースコードは、 Microsoft Public License (MS-PL) の下でリリースされた[6]。
「ASP.NET MVCフレームワークは、既存のASP.NETの機能と統合された、軽量で[7]高度にテスト可能なプレゼンテーションフレームワークである。これらの統合された機能のいくつかは、マスターページとメンバーシップベースの認証を使う。 MVCフレームワークはSystem.Web.Mvcアセンブリで定義されている[8]。」
ASP.NET MVCフレームワークは、インタフェースベースのコントラクトを使用してモデル、ビュー、およびコントローラーを結合し、それによって各コンポーネントを個別にテストできるようにする[要出典]。
Apache License2.0リリース
[編集]2012年3月、 スコット・ガスリーはブログで、マイクロソフトがオープンソースライセンス(Apache License 2.0)に基づきWebスタックの一部(ASP.NET MVC、 Razor 、およびWeb APIを含む)をリリースしたことを発表した[9]。
ガスリーは次のように述べた。「そうすることで、コミュニティの全員がコードチェックイン、バグ修正、新機能の開発に関与してフィードバックを提供し、ソースコードとテストの最新バージョンの製品を毎日使用してビルドおよびテストできる、よりオープンな開発モデルが可能になる。」
ソースコードはCodePlexで公開されている。 ASP.NET Web Formsは、さまざまな理由でこのイニシアチブに含まれていない[10]。
リリース履歴
[編集]日付 | バージョン |
---|---|
2007年12月10日 | ASP.NET MVC CTP |
2009年3月13日 | ASP.NET MVC 1.0 [11] |
2009年12月16日 | ASP.NET MVC 2 RC [12] |
2010年2月4日 | ASP.NET MVC 2 RC 2 [13] |
2010年3月10日 | ASP.NET MVC 2 [14] |
2010年10月6日 | ASP.NET MVC3ベータ版[15] |
2010年11月9日 | ASP.NET MVC 3 RC |
2010年12月10日 | ASP.NET MVC 3 RC 2 [16] |
2011年1月13日 | ASP.NET MVC 3 [17] |
2011年9月20日 | ASP.NET MVC4開発者プレビュー[18] |
2012年2月15日 | ASP.NET MVC4ベータ版[19] |
2012年5月31日 | ASP.NET MVC 4 RC [20] |
2012年8月15日 | ASP.NET MVC 4 [21] |
2013年5月30日 | ASP.NET MVC 4 4.0.30506.0 [22] |
2013年6月26日 | ASP.NET MVC5プレビュー[23] |
2013年8月23日 | ASP.NET MVC 5 RC 1 [24] |
2013年10月17日 | ASP.NET MVC 5 |
2014年1月17日 | ASP.NET MVC 5.1 |
2014年2月10日 | ASP.NET MVC 5.1.1 |
2014年4月4日 | ASP.NET MVC 5.1.2 |
2014年6月22日 | ASP.NET MVC 5.1.3 |
2014年7月1日 | ASP.NET MVC 5.2.0 |
2014年8月28日 | ASP.NET MVC 5.2.2 |
2015年2月9日 | ASP.NET MVC 5.2.3 |
2018年2月12日 | ASP.NET MVC 5.2.4 [25] |
2018年5月2日 | ASP.NET MVC 5.2.5 [26] |
2018年5月11日 | ASP.NET MVC 5.2.6 |
2018年11月29日 | ASP.NET MVC 5.2.7 |
日付 | バージョン |
---|---|
2016年5月17日 | ASP.NET Core MVC 1.0.0-rc2 [27] |
2016年8月12日 | ASP.NET Core MVC 1.0.0 |
2016年8月17日 | ASP.NET Core MVC 1.0.1 |
2016年11月17日 | ASP.NET Core MVC 1.0.2 |
2017年3月6日 | ASP.NET Core MVC 1.0.3 [28] |
2017年5月9日 | ASP.NET Core MVC 1.0.4 |
2017年9月20日 | ASP.NET Core MVC 1.0.5 |
2016年11月14日 | ASP.NET Core MVC 1.0.6 |
2016年11月16日 | ASP.NET Core MVC 1.1.0 |
2017年1月27日 | ASP.NET Core MVC 1.1.1 |
2017年3月6日 | ASP.NET Core MVC 1.1.2 |
2017年5月9日 | ASP.NET Core MVC 1.1.3 |
2017年9月20日 | ASP.NET Core MVC 1.1.4 |
2017年11月14日 | ASP.NET Core MVC 1.1.5 |
2017年12月12日 | ASP.NET Core MVC 1.1.6 |
2018年3月13日 | ASP.NET Core MVC 1.1.7 |
2017年8月11日 | ASP.NET Core MVC 2.0.0 [29] |
2017年11月14日 | ASP.NET Core MVC 2.0.1 |
2018年1月9日 | ASP.NET Core MVC 2.0.2 |
2018年3月13日 | ASP.NET Core MVC 2.0.3 |
2018年5月30日 | ASP.NET Core MVC 2.1.0 [30] |
2018年6月18日 | ASP.NET Core MVC 2.1.1 [31] |
2018年12月4日 | ASP.NET Core MVC 2.2.0 [32] |
2019年9月29日 | ASP.NET Core MVC 3.0.0 |
2019年12月3日 | ASP.NET Core MVC 3.1.0 [33] |
2020年1月14日 | ASP.NET Core MVC 3.1.1 [34] |
ビューエンジン
[編集]ASP.NET MVC3およびMVC4フレームワークで使用されるビューエンジンは、 RazorとWeb Formsである[35][36]。 両方のビューエンジンともMVC3フレームワークの一部である。デフォルトでは、MVCフレームワークのビューエンジンは、Razor .cshtml
と.vbhtml
、またはWeb Formsの.aspx
ページを使用して、データを構成するユーザインタフェースページのレイアウトを設計する。異なるビューエンジンも使用できる[37]。 さらに、デフォルトのASP.NET Web Formsのポストバックモデルの替わりに、すべての対話はASP.NET ルーティングメカニズムを通じてコントローラーにルーティングされる。ビューは異なるURLにマップできる[5]。
その他のビューエンジン:
- MVCContribライブラリには、Brail、NDjango、NHaml、NVelocity、SharpTiles、Spark、StringTemplate、XSLTの8つの代替ビューエンジンが含まれる[38]。
- StringTemplate View Engineは.NETにポートされたJavaテンプレートエンジンであるStringTemplateを利用する [39]。
- SparkはASP.NET MVC(およびCastle Project MonoRail)フレームワークのビューエンジンである[40]。
- NDjangoはDjango Webフレームワークのテンプレート言語の.NETへのポートであえる。 F#で記述されており、IntelliSenseの完全サポートを含むVisual Studio拡張機能が付属している[41]。
- 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