ASP.NET MVC Framework — фреймворк для создания веб-приложений, который реализует шаблон Model-View-Controller.
ASP.NET MVC Framework | |
---|---|
Тип | Веб-фреймворк |
Разработчик | Microsoft |
Написана на | C# |
Операционная система | Кроссплатформенное ПО |
Последняя версия |
MVC 5.2.8 (12 апреля 2022) MVC 6 1.0.0 (27 июня 2016)[1] |
Репозиторий |
github.com/aspnet/AspNet… github.com/dotnet/aspnet… |
Состояние | Активный |
Лицензия | Apache License |
Сайт | dotnet.microsoft.com/en-… |
В апреле 2009 года исходный код ASP.NET MVC был опубликован под лицензией Microsoft Public License (MS-PL)[2]. 27 марта 2012 года лицензия была изменена на Apache License 2.0[3]
В настоящее время разрабатывается ASP.NET MVC 6, как часть ASP.NET Core; 27 июня 2016 года состоялся выход версии 1.0.0[4].
История версий
правитьИстория версий | ||
---|---|---|
Дата | Версия | Примечание |
2007-12-10 | ASP.NET MVC Framework | запущен в рамках программы Community Technology Preview |
2008-03-05 | ASP.NET MVC Preview 2 | выпущен |
2008-05-01 | ASP.NET MVC Preview 3 | выпущен |
2008-07-16 | ASP.NET MVC Preview 4 | выпущен[5] |
2008-08-28 | ASP.NET MVC Preview 5 | выпущен[6] |
2008-10-16 | ASP.NET MVC Beta | выпущен[7] |
2009-01-27 | ASP.NET MVC RC | выпущен[8] |
2009-03-03 | ASP.NET MVC RC2 | выпущен[9] |
2009-03-17 | ASP.NET MVC 1.0 | выпущен[10] |
2009-07-31 | ASP.NET MVC 2.0 Preview 1 | выпущен[11] |
2009-11-17 | ASP.NET MVC 2.0 Beta | выпущен[12] (совместим с VS2008SP1, но не с VS2010Beta/RC) |
2009-12-17 | ASP.NET MVC 2.0 RC | выпущен[13] (совместим с VS2008SP1, но не с VS2010Beta/RC) |
2010-02-05 | ASP.NET MVC 2.0 RC2 | выпущен[14] (совместим с VS2008SP1, но не с VS2010Beta/RC) |
2010-03-10 | ASP.NET MVC 2.0 RTM | выпущен[15] |
2010-07-27 | ASP.NET MVC 3.0 Preview 1 | выпущен[16] |
2010-10-06 | ASP.NET MVC 3.0 Beta | выпущен[17] |
2010-11-10 | ASP.NET MVC 3.0 Release Candidate | выпущен[18] (поддержка Razor IntelliSense) |
2010-12-13 | ASP.NET MVC 3.0 RC2 | выпущен[19] |
2011-01-12 | ASP.NET MVC 3.0 RTM | выпущен[20] |
2011-09-14 | ASP.NET MVC 4.0 Developer Preview | выпущен[21] |
2012-02-14 | ASP.NET MVC 4.0 Beta | выпущен[22] |
2012-05-17 | ASP.NET MVC 4.0 RC | выпущен[23] |
2012-08-13 | ASP.NET MVC 4.0 | выпущен[24] |
2013-05-30 | ASP.NET MVC 4 4.0.30506.0 | выпущен |
2013-06-26 | ASP.NET MVC 5 Preview | выпущен |
2013-08-23 | ASP.NET MVC 5 RC 1 | выпущен |
2013-10-17 | ASP.NET MVC 5 | выпущен |
2013-12-09 | ASP.NET MVC 5.1 RC 1 | выпущен |
2014-01-17 | ASP.NET MVC 5.1 | выпущен |
2014-02-10 | ASP.NET MVC 5.1.1 | выпущен |
2014-04-04 | ASP.NET MVC 5.1.2 | выпущен |
2014-05-27 | ASP.NET MVC 5.2.0-rc | выпущен |
2014-07-01 | ASP.NET MVC 5.2 | выпущен |
2014-08-23 | ASP.NET MVC 5.2.2-rc | выпущен |
2014-08-28 | ASP.NET MVC 5.2.2 | выпущен |
2015-02-09 | ASP.NET MVC 5.2.3 | выпущен |
2015-11-07 | ASP.NET MVC 6 — 1.0.0-beta1 | выпущен[25] |
2015-11-18 | ASP.NET MVC 6 — 1.0.0-rc1 | выпущен[25] |
2016-05-18 | ASP.NET MVC 6 — 1.0.0-rc2 | выпущен[25] |
2016-06-27 | ASP.NET MVC 6 — 1.0.0 | выпущен[25] |
2018-02-12 | ASP.NET MVC 5.2.4[26] | выпущен |
2018-05-02 | ASP.NET MVC 5.2.5[27] | выпущен |
2018-05-11 | ASP.NET MVC 5.2.6[28] | выпущен |
2018-11-29 | ASP.NET MVC 5.2.7[28] | выпущен |
2022-04-12 | ASP.NET MVC 5.2.8 | текущая |
Основные компоненты ASP.NET MVC
правитьПлатформа ASP.NET MVC базируется на взаимодействии трех компонентов: контроллера, модели и представления. Контроллер принимает запросы, обрабатывает пользовательский ввод, взаимодействует с моделью и представлением и возвращает пользователю результат обработки запроса.
Модель представляет слой, описывающий логику организации данных в приложении. Представление получает данные из контроллера и генерирует элементы пользовательского интерфейса для отображения информации.
Движок представлений
правитьДля управления разметкой и вставками кода в представлении используется движок представлений. До версии MVC 5 использовались два движка: Web Forms и Razor.
Начиная с MVC 5 единственным движком, встроенным по умолчанию, является Razor. Движок WebForms использует файлы .aspx, а Razor — файлы .cshtml и .vbhtml для хранения кода представлений. Основой синтаксиса Razor является знак @, после которого осуществляется переход к коду на языках C#/VB.NET[29]. Также возможно и использование сторонних движков. Файлы представлений не являются стандартными статическими страницами с кодом html, а в процессе генерации контроллером ответа с использованием представлений компилируются в классы, из которых затем генерируется страница html.
Маршрутизация
правитьПри обработке запросов фреймворк ASP.NET MVC опирается на систему маршрутизации, которая сопоставляет все входящие запросы с определенными в системе маршрутами, которые указывают какой контроллер и метод должен обработать данный запрос. Встроенный маршрут по умолчанию предполагает трехзвенную структуру: контроллер/действие/параметр.
ASP.NET MVC и ASP.NET Web Forms
правитьASP.NET MVC и ASP.NET Web Forms являются двумя родственными технологиями, в основании которых лежит одна платформа ASP.NET. И все же ASP.NET MVC имеет ряд преимуществ перед ASP.NET Web Forms[30]:
- разделение ответственности (отдельная разработка разных компонентов — контроллера, моделей, представлений)
- улучшенная тестируемость
- повышенная гибкость и настраиваемость под собственные нужды
Примечания
править- ↑ MVC Releases . Official Microsoft ASP.NET Site. Дата обращения: 25 июня 2016. Архивировано 29 июля 2017 года.
- ↑ Scott Guthrie. ASP.NET MVC 1.0 Source Released . Дата обращения: 2 апреля 2009. Архивировано из оригинала 26 марта 2012 года.
- ↑ ASP.NET MVC / Web API / Web Pages . Дата обращения: 29 марта 2012. Архивировано 8 июля 2017 года.
- ↑ ASP.NET Core 1.0 Schedule and Roadmap . Дата обращения: 25 июня 2016. Архивировано 22 февраля 2016 года.
- ↑ ASP.NET MVC Preview 4 Released — Shiju Varghese’s Blog. Retrieved from http://weblogs.asp.net/shijuvarghese/archive/2008/07/16/asp-net-mvc-preview-4-released.aspx Архивная копия от 27 мая 2009 на Wayback Machine
- ↑ ASP.NET MVC CodePlex Preview 5 Release Notes. Retrieved from http://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=aspnet&ReleaseId=16775 Архивная копия от 27 сентября 2011 на Wayback Machine.
- ↑ Microsoft Download Center (недоступная ссылка)
- ↑ http://go.microsoft.com/fwlink/?LinkID=141184&clcid=0x409
- ↑ Microsoft Download Center (недоступная ссылка)
- ↑ Download details: ASP.NET MVC 1.0 (недоступная ссылка)
- ↑ Microsoft Download Center (недоступная ссылка)
- ↑ Download details: ASP.NET MVC 2 Beta (недоступная ссылка)
- ↑ Download details: ASP.NET MVC 2 RC . Дата обращения: 20 апреля 2010. Архивировано 30 августа 2010 года.
- ↑ Download details: ASP.NET MVC 2 RC (недоступная ссылка)
- ↑ Download details: ASP.NET MVC 2 RTM . Дата обращения: 20 апреля 2010. Архивировано 5 сентября 2010 года.
- ↑ Download details: ASP.NET MVC 3 Preview 1 . Дата обращения: 3 августа 2010. Архивировано 31 августа 2010 года.
- ↑ Download details: ASP.NET MVC 3 Beta . Дата обращения: 6 октября 2010. Архивировано 17 ноября 2010 года.
- ↑ Download details: ASP.NET MVC 3 Release Candidate . Дата обращения: 10 ноября 2010. Архивировано 30 апреля 2011 года.
- ↑ Download details: ASP.NET MVC 3 RC2 . Дата обращения: 13 декабря 2010. Архивировано 25 декабря 2010 года.
- ↑ Download details: ASP.NET MVC 3 RTM . Дата обращения: 16 января 2011. Архивировано 4 июня 2011 года.
- ↑ Download details: ASP.NET MVC 4 Developer Preview (недоступная ссылка)
- ↑ Download details: ASP.NET MVC 4 Beta . Дата обращения: 27 февраля 2012. Архивировано 18 февраля 2012 года.
- ↑ Download details: ASP.NET MVC 4 RC . Дата обращения: 30 августа 2012. Архивировано 26 августа 2012 года.
- ↑ Download details: ASP.NET MVC 4 . Дата обращения: 16 августа 2012. Архивировано 18 августа 2012 года.
- ↑ 1 2 3 4 aspnet/Mvc . GitHub. Дата обращения: 25 июня 2016. Архивировано 29 июля 2017 года.
- ↑ Announcing ASP.NET MVC 5.2.4, Web API 5.2.4, and Web Pages 3.2.4 . Microsoft (12 февраля 2018). Дата обращения: 14 марта 2018. Архивировано 23 января 2019 года.
- ↑ Announcing ASP.NET MVC 5.2.5, Web API 5.2.5, and Web Pages 3.2.5 . Microsoft (2 мая 2018). Дата обращения: 4 мая 2018. Архивировано 17 января 2019 года.
- ↑ 1 2 Microsoft ASP.NET MVC 5.2.2 . NuGet. Дата обращения: 17 января 2015. Архивировано 21 января 2015 года.
- ↑ Движок представлений и Razor . Дата обращения: 28 мая 2014. Архивировано 12 июня 2014 года.
- ↑ ASP.NET MVC и ASP.NET WebForms . Дата обращения: 28 мая 2014. Архивировано 29 мая 2014 года.
Ссылки
правитьЛитература
править- Адам Фримен. ASP.NET MVC 5 с примерами на C# 5.0 для профессионалов, 5-е издание = Pro ASP.NET MVC 5. — М.: «Вильямс», 2014. — 736 с. — ISBN 978-5-8459-1911-3.
- Джесс Чедвик, Тодд Снайдер, Хришикеш Панда. ASP.NET MVC 4: разработка реальных веб-приложений с помощью ASP.NET MVC = Programming ASP.NET MVC 4: Developing Real-World Web Applications with ASP.NET MVC. — М.: «Вильямс», 2013. — 432 с. — ISBN 978-5-8459-1841-3.
- Магдануров Г., Юнев В. ASP.NET MVC Framework. — C.: «БХВ-Петербург», 2010. — С. 320. — ISBN 978-5-9775-0462-1.