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]。
その他のビューエンジン:
- 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
外部リンク
| 表 話 編 歴 .NET | |
|---|---|
| アーキテクチャ | 共通言語基盤 アセンブリ メタデータ マネージコード 基本クラスライブラリ .NET Standard 仮想実行システム Roslyn Native AOT |
| 共通言語基盤 | 共通言語ランタイム 共通型システム 共通中間言語 動的言語ランタイム |
| 言語 | C# Visual Basic .NET F# PowerShell C++/CLI (マネージ拡張) †J# JScript .NET IronPython IronRuby Nemerle Boo PiechPie(英語版) / †Phalanger †Cω †Spec# |
| パッケージマネージャ | 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 XAML †Silverlight 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 Framework †Microsoft XNA |
| 組織 | .NET Foundation Microsoft Xamarin |
| 開発環境 | Visual Studio Visual Studio Code JetBrains Rider(英語版) MonoDevelop / Xamarin Studio SharpDevelop |
| その他 | async/await MVVM ReactiveX(英語版) |