ASP.NET MVC Framework
ASP.NET MVC Framework — фреймворк для создания веб-приложений, который реализует шаблон Model-view-controller.
ASP.NET MVC Framework | |
---|---|
Тип | Веб-фреймворк |
Разработчик | Microsoft |
Написана на | C# |
Операционная система | Кроссплатформенное ПО |
Аппаратная платформа | .NET Framework, Mono, .NET |
Последняя версия |
MVC 5.2.7 (9 февраля 2015) MVC 6 1.0.0 (27 июня 2016)[1] |
Состояние | Активный |
Лицензия | Apache License |
Сайт | www.asp.net/mvc |
В апреле 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] |
Основные компоненты ASP.NET MVC
Платформа ASP.NET MVC базируется на взаимодействии трех компонентов: контроллера, модели и представления. Контроллер принимает запросы, обрабатывает пользовательский ввод, взаимодействует с моделью и представлением и возвращает пользователю результат обработки запроса.
Модель представляет слой, описывающий логику организации данных в приложении. Представление получает данные из контроллера и генерирует элементы пользовательского интерфейса для отображения информации.
Движок представлений
Для управления разметкой и вставками кода в представлении используется движок представлений. До версии MVC 5 использовались два движка: Web Forms и Razor.
Начиная с MVC 5 единственным движком, встроенным по умолчанию, является Razor. Движок WebForms использует файлы .aspx, а Razor — файлы .cshtml и .vbhtml для хранения кода представлений. Основой синтаксиса Razor является знак @, после которого осуществляется переход к коду на языках C#/VB.NET[26]. Также возможно и использование сторонних движков. Файлы представлений не являются стандартными статическими страницами с кодом 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[27]:
- разделение ответственности (отдельная разработка разных компонентов — контроллера, моделей, представлений)
- улучшенная тестируемость
- повышенная гибкость и настраиваемость под собственные нужды
Примечания
- MVC Releases . Official Microsoft ASP.NET Site. Дата обращения: 25 июня 2016.
- Scott Guthrie. ASP.NET MVC 1.0 Source Released (недоступная ссылка). Дата обращения: 2 апреля 2009. Архивировано 26 марта 2012 года.
- ASP.NET MVC / Web API / Web Pages
- ASP.NET Core 1.0 Schedule and Roadmap . Дата обращения: 25 июня 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
- ASP.NET MVC CodePlex Preview 5 Release Notes. Retrieved from http://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=aspnet&ReleaseId=16775.
- 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
- Download details: ASP.NET MVC 2 RC (недоступная ссылка)
- Download details: ASP.NET MVC 2 RTM
- Download details: ASP.NET MVC 3 Preview 1
- Download details: ASP.NET MVC 3 Beta
- Download details: ASP.NET MVC 3 Release Candidate
- Download details: ASP.NET MVC 3 RC2
- Download details: ASP.NET MVC 3 RTM
- Download details: ASP.NET MVC 4 Developer Preview (недоступная ссылка)
- Download details: ASP.NET MVC 4 Beta
- Download details: ASP.NET MVC 4 RC
- Download details: ASP.NET MVC 4
- aspnet/Mvc . GitHub. Дата обращения: 25 июня 2016.
- Движок представлений и Razor
- ASP.NET MVC и ASP.NET WebForms
Ссылки
Литература
- Адам Фримен. 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.