ASP.NET MVC Frameworkとは - わかりやすく解説 Weblio辞書 (original) (raw)

ASP.NET MVC

開発元 マイクロソフト
最終版 5.2.7 / 2018年11月28日 (6年前) (2018-11-28)[1]
最新評価版 6.0.0-rc2 / 2016年5月17日 (8年前) (2016-05-17)[2]
リポジトリ github.com/aspnet/AspNetWebStack
プログラミング言語 C#, VB.NET[3]
対応OS Cross-platform
プラットフォーム .NET Framework, Mono
後継 ASP.NET Core
種別 Webアプリケーションフレームワーク
ライセンス Apache License 2.0
公式サイト dotnet.microsoft.com/apps/aspnet/mvc
テンプレートを表示

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

ASP.NET Core MVC-リリース履歴

日付 バージョン
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]

その他のビューエンジン:

関連項目

脚注

  1. ^Nuget package Microsoft.AspNet.Mvc”. 2019年1月10日閲覧。
  2. ^MVC Releases”. Official Microsoft ASP.NET Site. 18 May 2016閲覧。
  3. ^ Rick Anderson. “Intro to ASP.NET MVC 3 (VB)”. The Official Microsoft ASP.NET Site. 17 January 2015閲覧。
  4. ^ https://devblogs.microsoft.com/dotnet/introducing-net-5/
  5. ^ a b Scott Guthrie. “ASP.NET MVC Framework”. 22 October 2007時点のオリジナルよりアーカイブ。2007年10月23日閲覧。
  6. ^ Scott Guthrie. “ASP.NET mvc 1.0 Source Released”. 3 April 2009時点のオリジナルよりアーカイブ。2009年4月2日閲覧。
  7. ^ Koirala (27 September 2014). “Webform vs MVC performance comparison done with 25 user load test.”. codeproject. 27 September 2014閲覧。
  8. ^ASP.NET MVC”. aspnet4.com. 17 January 2015閲覧。
  9. ^ Scott Guthrie. “ASP.NET MVC, Web API, Razor and Open Source”. 29 March 2012閲覧。
  10. ^ 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閲覧。
  11. ^Download ASP.NET MVC 1.0 from Official Microsoft Download Center”. マイクロソフト. 17 January 2015閲覧。[_リンク切れ_]
  12. ^ Phil Haack. “ASP.NET MVC 2 RC Released”. 17 January 2015閲覧。
  13. ^ Phil Haack. “ASP.NET MVC 2 RC 2 Released”. 17 January 2015閲覧。
  14. ^Download ASP.NET MVC 2 RTM from Official Microsoft Download Center”. マイクロソフト. 17 January 2015閲覧。
  15. ^ASP.NET MVC 3”. The Official Microsoft ASP.NET Site. 17 January 2015閲覧。
  16. ^Announcing ASP.NET MVC 3 (Release Candidate 2)”. weblogs.asp.net. 17 January 2015閲覧。
  17. ^Download ASP.NET MVC 3 RTM from Official Microsoft Download Center”. マイクロソフト. 17 January 2015閲覧。
  18. ^ASP.NET”. CodePlex. 17 January 2015閲覧。
  19. ^ASP.NET MVC 4”. The Official Microsoft ASP.NET Site. 17 January 2015閲覧。
  20. ^MSDN Blogs”. マイクロソフト. 17 January 2015閲覧。
  21. ^MSDN Blogs”. マイクロソフト. 17 January 2015閲覧。
  22. ^ASP.NET and Web Tools 2012.2 Release Notes”. The Official Microsoft ASP.NET Site. 17 January 2015閲覧。
  23. ^ Microsoft ASP.NET Team. “ASP.NET and Web Tools for Visual Studio 2013 Release Notes”. The Official Microsoft ASP.NET Site. 17 January 2015閲覧。
  24. ^Microsoft ASP.NET MVC 5.2.2”. NuGet. 17 January 2015閲覧。
  25. ^Announcing ASP.NET MVC 5.2.4, Web API 5.2.4, and Web Pages 3.2.4”. マイクロソフト. 14 March 2018閲覧。
  26. ^Announcing ASP.NET MVC 5.2.5, Web API 5.2.5, and Web Pages 3.2.5”. マイクロソフト. 4 May 2018閲覧。
  27. ^aspnet/Mvc”. GitHub. 30 September 2016閲覧。
  28. ^NuGet Gallery: Microsoft.AspNetCore.Mvc”. 2018年3月16日閲覧。
  29. ^Release 2.0.0 · aspnet/Mvc”. Official Microsoft ASP.NET Site. 2017年8月29日閲覧。
  30. ^Microsoft.AspNetCore.Mvc”. NuGet. 2018年5月30日閲覧。
  31. ^Microsoft.AspNetCore.Mvc”. NuGet. 2018年6月18日閲覧。
  32. ^aspnet/AspNetCore”. マイクロソフト (2019年11月14日). 2019年11月14日閲覧。
  33. ^dotnet/aspnetcore”. マイクロソフト. 2020年12月21日閲覧。
  34. ^dotnet/aspnetcore”. マイクロソフト. 2020年12月21日閲覧。
  35. ^ScottGu's Blog - Introducing "Razor" – a new view engine for ASP.NET”. asp.net. 2020年12月21日閲覧。
  36. ^ASP.NET MVC 3”. The Official Microsoft ASP.NET Site. 2020年12月21日閲覧。
  37. ^Scott Hanselman's ASP.NET MVC Preview 2 Screencast Tutorials”. 2008年10月29日時点のオリジナルよりアーカイブ。2008年10月13日閲覧。
  38. ^ MVCContrib
  39. ^string-template-view-engine-mvc - ASP.Net MVC ViewEngine for StringTemplate - Google Project Hosting”. google.com. 2020年12月21日閲覧。
  40. ^Spark View Engine”. CodePlex. 2020年12月21日閲覧。
  41. ^ndjango - An implementation of the Django Template Language on the .NET platform, using the F# language. - Google Project Hosting”. google.com. 2020年12月21日閲覧。

参考文献

外部リンク

.NET
アーキテクチャ 共通言語基盤 アセンブリ メタデータ マネージコード 基本クラスライブラリ .NET Standard 仮想実行システム Roslyn Native AOT
共通言語基盤 共通言語ランタイム 共通型システム 共通中間言語 動的言語ランタイム
言語 C# Visual Basic .NET F# PowerShell C++/CLIマネージ拡張) †J# JScript .NET IronPython IronRuby Nemerle Boo PiechPie(英語版) / †PhalangerSpec#
パッケージマネージャ NuGet myget ProGet
関連技術 Azure MAUI(英語版) †Xamarin Blazor Aspire Uno Platform(英語版) †UWP Avalonia UI(英語版WPF WCF WF WCS Windows Forms ASP.NET ADO.NET ASP.NET MVC Framework Entity Framework ClickOnce XAMLSilverlight LINQ.NET Remoting MSBuild XSP ML.NET(英語版Windows UI Library Windows App SDK(英語版
その他のCLI実装 .NET Core .NET Framework Mono シェアードソースCLI Portable.NET .NET nanoFramework .NET Micro Framework .NET Compact FrameworkMicrosoft XNA
組織 .NET Foundation Microsoft Xamarin
開発環境 Visual Studio Visual Studio Code JetBrains Rider(英語版MonoDevelop / Xamarin Studio SharpDevelop
その他 async/await MVVM ReactiveX(英語版
カテゴリ