ASP.NET MVCは、モデル・ビュー・コントローラ(MVC)パターンを実装する、Microsoftが開発したWebアプリケーションフレームワークです。現在、開発は活発に行われていません。ASP.NET Webフォームコンポーネント(プロプライエタリ)を除き、オープンソースソフトウェアです。
その後、 ASP.NET、ASP.NET MVC、ASP.NET Web API、そしてASP.NET Web Pages ( Razorページのみを使用するプラットフォーム)を統合したASP.NET Coreがリリースされました。MVC 6はCoreの登場により廃止され、リリースの予定はありません。Coreは現在、「.NET 5」に統合される予定です。[ 4 ]
ASP.NET MVCを使用している有名なサイトとしては、Stack Overflow、[ 5 ] Microsoft、GoDaddy、Ancestry.comなどがあります。[ 6 ]
背景
ASP.NETをベースにしたASP.NET MVC では、ソフトウェア開発者がモデル、ビュー、コントローラーの3つの役割を組み合わせたWebアプリケーションを構築できます。MVCモデルは、3つのロジック層でWebアプリケーションを定義します。
- モデル(ビジネス層)
- ビュー(表示レイヤー)
- コントローラー(入力制御)
モデルはアプリケーションの特定の側面の状態を表します。コントローラはインタラクションを処理し、アプリケーションの状態の変化を反映するようにモデルを更新し、ビューに情報を渡します。ビューはコントローラから必要な情報を受け取り、その情報を表示するためのユーザーインターフェースをレンダリングします。[ 7 ]
2009年4月、ASP.NET MVCのソースコードがMicrosoft Public License(MS-PL)の下でリリースされました。[ 8 ]
ASP.NET MVCフレームワークは、既存のASP.NET機能と統合された軽量で[ 9 ]高度にテスト可能なプレゼンテーションフレームワークです。統合された機能には、マスターページやメンバーシップベースの認証などがあります。MVCフレームワークはSystem.Web.Mvcアセンブリで定義されています。[ 10 ]
ASP.NET MVC フレームワークは、インターフェイスベースのコントラクトを使用してモデル、ビュー、およびコントローラーを結合し、各コンポーネントを個別にテストできるようにします。
Apacheライセンス2.0リリース
2012年3月、スコット・ガスリーは自身のブログで、マイクロソフトがWebスタックの一部(ASP.NET MVC、Razor、Web APIを含む)をオープンソースライセンス(Apache License 2.0)で公開したことを発表しました。[ 11 ]
ガスリー氏は、「そうすることで、よりオープンな開発モデルが実現し、コミュニティの誰もがコードのチェックイン、バグ修正、新機能の開発に参加してフィードバックを提供できるようになり、最新バージョンのソースコードとテストを使用して製品を毎日構築およびテストできるようになります」と書いています。
ソースコードは現在CodePlexにあります。ASP.NET Web Formsは様々な理由からこの取り組みには含まれていませんでした。[ 12 ]
リリース履歴
| 日付 | バージョン |
|---|---|
| 2007年12月10日 | ASP.NET MVC CTP |
| 2009年3月13日 | ASP.NET MVC 1.0 [ 13 ] |
| 2009年12月16日 | ASP.NET MVC 2 RC [ 14 ] |
| 2010年2月4日 | ASP.NET MVC 2 RC 2 [ 15 ] |
| 2010年3月10日 | ASP.NET MVC 2 [ 16 ] |
| 2010年10月6日 | ASP.NET MVC 3ベータ版[ 17 ] |
| 2010年11月9日 | ASP.NET MVC 3 RC [ 17 ] |
| 2010年12月10日 | ASP.NET MVC 3 RC2 [ 18 ] |
| 2011年1月13日 | ASP.NET MVC 3 [ 19 ] |
| 2011年9月20日 | ASP.NET MVC 4 開発者プレビュー[ 20 ] |
| 2012年2月15日 | ASP.NET MVC 4ベータ版[ 21 ] |
| 2012年5月31日 | ASP.NET MVC 4 RC [ 22 ] |
| 2012年8月15日 | ASP.NET MVC 4 [ 23 ] |
| 2013年5月30日 | ASP.NET MVC 4 4.0.30506.0 [ 24 ] |
| 2013年6月26日 | ASP.NET MVC 5 プレビュー[ 25 ] |
| 2013年8月23日 | ASP.NET MVC 5 RC1 [ 26 ] |
| 2013年10月17日 | ASP.NET MVC 5 [ 26 ] |
| 2014年1月17日 | ASP.NET MVC 5.1 [ 26 ] |
| 2014年2月10日 | ASP.NET MVC 5.1.1 [ 26 ] |
| 2014年4月4日 | ASP.NET MVC 5.1.2 [ 26 ] |
| 2014年6月22日 | ASP.NET MVC 5.1.3 [ 26 ] |
| 2014年7月1日 | ASP.NET MVC 5.2.0 [ 26 ] |
| 2014年8月28日 | ASP.NET MVC 5.2.2 [ 26 ] |
| 2015年2月9日 | ASP.NET MVC 5.2.3 [ 26 ] |
| 2018年2月12日 | ASP.NET MVC 5.2.4 [ 27 ] |
| 2018年5月2日 | ASP.NET MVC 5.2.5 [ 28 ] |
| 2018年5月11日 | ASP.NET MVC 5.2.6 [ 26 ] |
| 2018年11月29日 | ASP.NET MVC 5.2.7 [ 26 ] |
| 2022年4月12日 | ASP.NET MVC 5.2.8 [ 26 ] |
| 2022年5月31日 | ASP.NET MVC 5.2.9 [ 26 ] |
| 2023年10月23日 | ASP.NET MVC 5.3.0 (最新) |
プロジェクト構造
- 📁 アプリケーション
- 📁 コントローラー
- 🗎 ペットコントローラー.cs
- 📁 モデル
- 🗎 PetViewModel.cs
- 📁 ビュー
- 📁 ペット
- 🗎 .cshtml を作成する
- 🗎 削除.cshtml
- 🗎 編集.cshtml
- 🗎 インデックス.cshtml
- 📁 ペット
- 📁 コントローラー
エンジンを表示
ASP.NET MVC 3 および MVC 4 フレームワークで使用されるビューエンジンは、Razorと Web フォームです。[ 29 ] [ 30 ]どちらのビューエンジンも MVC 3 フレームワークの一部です。デフォルトでは、MVC フレームワークのビューエンジンは Razor.cshtmlと.vbhtml、または Web フォーム.aspxページを使用して、データが構成されるユーザーインターフェイスページのレイアウトを設計します。ただし、異なるビューエンジンを使用することもできます。[ 31 ]さらに、デフォルトの ASP.NET Web フォームポストバックモデルではなく、すべてのインタラクションは ASP.NETルーティングメカニズムを使用してコントローラーにルーティングされます。ビューは異なるURLにマップできます。[ 7 ]
その他のビューエンジン:
- MVCContribライブラリには、Brail、NDjango、NHaml、NVelocity、SharpTiles、Spark、StringTemplate、XSLTの8つの代替ビューエンジンが含まれています。[ 32 ]
- Naked Objects for .NET は、ASP.NET MVC を使用したネイキッド オブジェクトパターンの実装です。
参照
参考文献
- ^ 「Nuget パッケージ Microsoft.AspNet.Mvc」 。 2025年1月10日閲覧。
- ^ 「MVC リリース」。Microsoft ASP.NET 公式サイト。2016年5月18日閲覧。
- ^ Rick Anderson. 「ASP.NET MVC 3 (VB) 入門」 .公式サイト Microsoft ASP.NET サイト. 2015年1月17日閲覧。
- ^ 「.NET 5の紹介」 2019年5月6日。
- ^ 「Stack Overflow は何で構築されたのか?」 2008年9月21日。
- ^ 「ASP.NET MVC を使用して作成されたトップ 10 の Web サイト - DZone Web Dev」。
- ^ a b Scott Guthrie (2007年10月15日). 「ASP.NET MVC Framework」 . 2007年10月22日時点のオリジナルよりアーカイブ。2007年10月23日閲覧。
- ^ Scott Guthrie (2009年4月2日). 「ASP.NET mvc 1.0 Source Released」 . 2009年4月3日時点のオリジナルよりアーカイブ。 2009年4月2日閲覧。
- ^ Koirala, Shivprasad (2014年9月27日). 「WebフォームとMVCのパフォーマンス比較(25ユーザー負荷テスト)」 . codeproject . 2014年9月27日閲覧。
- ^ "ASP.NET MVC" . aspnet4.com . 2014年4月4日時点のオリジナルよりアーカイブ。2015年1月17日閲覧。
- ^ Scott Guthrie (2012年3月28日). 「ASP.NET MVC、Web API、Razor、そしてオープンソース」 . 2012年3月29日閲覧。
- ^ Scott Hanselman. 「ASP.NET MVC 4、ASP.NET Web API、ASP.NET Web Pages v2 (Razor) がすべてオープンソース化され、貢献も得られるようになりました」 . 2012年3月29日閲覧。
- ^ 「ASP.NET MVC 1.0 を公式 Microsoft ダウンロード センターからダウンロード」。Microsoft。2012年5月30日時点のオリジナルよりアーカイブ。2015年1月17日閲覧。
- ^ Phil Haack (2009年12月16日). 「ASP.NET MVC 2 RC リリース」 . 2015年1月17日閲覧。
- ^ Phil Haack (2010年2月4日). 「ASP.NET MVC 2 RC 2 リリース」 . 2015年1月17日閲覧。
- ^ 「公式MicrosoftダウンロードセンターからASP.NET MVC 2 RTMをダウンロード」。Microsoft 。 2015年1月17日閲覧。
- ^ a b「ASP.NET MVC 3」。The Official Microsoft ASP.NET Site 。 2015年1月17日閲覧。
- ^ 「ASP.NET MVC 3 (リリース候補 2) の発表」。ScottGu のブログ。weblogs.asp.net。2010年12 月 11 日。2015年1 月 17 日閲覧。
- ^ 「公式MicrosoftダウンロードセンターからASP.NET MVC 3 RTMをダウンロード」。Microsoft 。 2015年1月17日閲覧。
- ^ "ASP.NET" . CodePlex . 2015年1月17日閲覧。
- ^ 「ASP.NET MVC 4」。The Official Microsoft ASP.NET Site 。 2015年1月17日閲覧。
- ^ 「MSDN ブログ」 . Microsoft . 2015年1月17日閲覧。
- ^ 「MSDN ブログ」 . Microsoft . 2015年1月17日閲覧。
- ^ 「ASP.NET and Web Tools 2012.2 リリースノート」。The Official Microsoft ASP.NET Site。2015年1月10日時点のオリジナルよりアーカイブ。 2015年1月17日閲覧。
- ^ Microsoft ASP.NET チーム. 「ASP.NET および Web ツール for Visual Studio 2013 リリースノート」 .公式サイト Microsoft ASP.NET サイト. 2015年1月17日閲覧。
- ^ a b c d e f g h i j k l m "Microsoft ASP.NET MVC 5.2.2" . NuGet . 2015年1月17日閲覧。
- ^ 「ASP.NET MVC 5.2.4、Web API 5.2.4、Web Pages 3.2.4 の発表」。Microsoft。2018年2月12日。 2018年3月14日閲覧。
- ^ 「ASP.NET MVC 5.2.5、Web API 5.2.5、Web Pages 3.2.5 の発表」。Microsoft。2018年5月2日。 2018年5月4日閲覧。
- ^ 「ScottGu のブログ - ASP.NET の新しいビュー エンジン「Razor」の紹介」。asp.net。2010年7 月 3 日。
- ^ 「ASP.NET MVC 3」。公式サイトMicrosoft ASP.NETサイト。2023年6月15日。
- ^ 「Scott HanselmanのASP.NET MVC Preview 2スクリーンキャストチュートリアル」。2008年10月29日時点のオリジナルよりアーカイブ。2008年10月13日閲覧。
- ^ MVCコントリビュート
- ^ "string-template-view-engine-mvc - StringTemplate 用の ASP.Net MVC ViewEngine - Google プロジェクト ホスティング" . google.com .
- ^ 「Spark View Engine」。CodePlex 。2018年1月11日時点のオリジナルよりアーカイブ。2013年3月15日閲覧。
- ^ 「ndjango - F# 言語を使用した、.NET プラットフォーム上の Django テンプレート言語の実装。 - Google プロジェクト ホスティング」。google.com 。
さらに読む
- Jon Galloway、Phil Haack、Brad Wilson、K. Scott Allen著『Professional ASP.NET MVC 3』、Wrox、2011年、ISBN 1-118-07658-3
- Jeffrey Palermo、Jimmy Bogard、Eric Hexter、Matthew Hinze、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』第2版、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
- アルノー・ウェイル『Learn ASP.NET MVC』、2015年、ISBN 1-32648303-X
- Andrew Lock著『ASP.NET Core in Action』Manning Publications、2018年、ISBN 978-1617-29461-7