Фреймворк веб-приложений
ASP.NET MVC — это платформа веб-приложений, разработанная Microsoft, которая реализует шаблон модель-представление-контроллер (MVC). Он больше не находится в активной разработке. Это программное обеспечение с открытым исходным кодом , за исключением компонента ASP.NET Web Forms, который является проприетарным .
С тех пор было выпущено ASP.NET Core , которое объединило ASP.NET , ASP.NET MVC, веб-API ASP.NET и веб-страницы ASP.NET (платформа, использующая только страницы Razor ). От MVC 6 отказались из-за Core, и его выпуск не ожидается. В настоящее время планируется объединить Core с «.NET 5». [4]
Некоторые известные сайты, использующие ASP.NET MVC, включают Stack Overflow , [5] Microsoft , GoDaddy и Ancestry.com . [6] [ нужно обновить ]
Фон
Основанный на ASP.NET , ASP.NET MVC позволяет разработчикам программного обеспечения создавать веб-приложение , состоящее из трех ролей: Модель , Представление и Контроллер . Модель MVC определяет веб-приложения с тремя логическими уровнями:
- Модель (бизнес-уровень)
- Просмотр (слой отображения)
- Контроллер (входной контроль)
Модель представляет состояние определенного аспекта приложения. Контроллер обрабатывает взаимодействия и обновляет модель , чтобы отразить изменение состояния приложения, а затем передает информацию в представление. Представление принимает необходимую информацию от контроллера и отображает пользовательский интерфейс для отображения этой информации . [7]
В апреле 2009 года исходный код ASP.NET MVC был выпущен под лицензией Microsoft Public License (MS-PL). [8]
«Среда ASP.NET MVC — это легкая, [9] легко тестируемая среда представления, интегрированная с существующими функциями ASP.NET. Некоторые из этих интегрированных функций представляют собой главные страницы и аутентификацию на основе членства. Платформа MVC определена в файле System. Сборка Web.Mvc». [10]
Платформа ASP.NET MVC объединяет модели, представления и контроллеры с помощью контрактов на основе интерфейса , тем самым позволяя тестировать каждый компонент независимо. [ нужна цитата ]
Лицензия Apache версии 2.0
В марте 2012 года Скотт Гатри объявил в своем блоге, что Microsoft выпустила часть своего веб-стека (включая ASP.NET MVC, Razor и Web API) под лицензией с открытым исходным кодом ( Apache License 2.0 ). [11]
Гатри написал: «Это позволит создать более открытую модель разработки, в которой каждый член сообщества сможет участвовать и оставлять отзывы о проверке кода, исправлении ошибок, разработке новых функций, а также ежедневно создавать и тестировать продукты, используя самую последнюю версию исходного кода и тестов».
Исходный код теперь находится на CodePlex . Веб-формы ASP.NET не были включены в эту инициативу по разным причинам. [12]
История выпусков
Посмотреть двигатели
Механизмами представлений, используемыми в платформах ASP.NET MVC 3 и MVC 4, являются Razor и веб-формы. [29] [30] Оба механизма просмотра являются частью структуры MVC 3. По умолчанию механизм представления в платформе MVC использует страницы Razor .cshtml
и .vbhtml
или веб-формы .aspx
для разработки макета страниц пользовательского интерфейса, на которых формируются данные. Однако можно использовать разные механизмы представления. [31] Кроме того, вместо модели обратной передачи веб-форм ASP.NET по умолчанию любые взаимодействия перенаправляются на контроллеры с использованием механизма маршрутизации ASP.NET . Представления могут быть сопоставлены с разными URL-адресами . [7]
Другие механизмы просмотра:
- Библиотека MVCContrib содержит 8 альтернативных механизмов представления. Brail, NDjango, NHaml, NVelocity, SharpTiles, Spark, StringTemplate и XSLT. [32]
- Механизм представления StringTemplate использует порт .NET механизма шаблонов Java StringTemplate. [33]
- Spark — это механизм представления для платформ ASP.NET MVC (и Castle Project MonoRail). [34]
- NDjango — это порт языка шаблонов веб-платформы Django на .NET. Он написан на F# и поставляется с расширением Visual Studio, включая полную поддержку Intellisense. [35]
- «Голые объекты для .NET» — это реализация шаблона «голые объекты» с использованием ASP.NET MVC.
Смотрите также
Рекомендации
- ^ «Пакет Nuget Microsoft.AspNet.Mvc» . Проверено 10 января 2019 г.
- ^ "Релизы MVC" . Официальный сайт Microsoft ASP.NET . Проверено 18 мая 2016 г.
- ^ Рик Андерсон. «Введение в ASP.NET MVC 3 (VB)». Официальный сайт Microsoft ASP.NET . Проверено 17 января 2015 г.
- ^ «Представляем .NET 5». 6 мая 2019 г.
- ^ «Из чего было создано переполнение стека?» 21 сентября 2008 г.
- ^ «10 лучших веб-сайтов, написанных с использованием ASP.NET MVC — DZone Web Dev» .
- ^ аб Скотт Гатри. «ASP.NET MVC Framework». Архивировано из оригинала 22 октября 2007 года . Проверено 23 октября 2007 г.
- ^ Скотт Гатри. «Выпущен исходный код ASP.NET mvc 1.0» . Архивировано из оригинала 3 апреля 2009 года . Проверено 2 апреля 2009 г.
- ↑ Койрала, Шивпрасад (27 сентября 2014 г.). «Сравнение производительности Webform и MVC, выполненное с помощью нагрузочного теста с участием 25 пользователей». кодпроект . Проверено 27 сентября 2014 г.
- ^ "ASP.NET MVC" . aspnet4.com . Архивировано из оригинала 4 апреля 2014 года . Проверено 17 января 2015 г.
- ^ Скотт Гатри. «ASP.NET MVC, веб-API, Razor и открытый исходный код» . Проверено 29 марта 2012 г.
- ^ Скотт Генсельман. «ASP.NET MVC 4, веб-API ASP.NET и веб-страницы ASP.NET v2 (Razor) теперь с открытым исходным кодом» . Проверено 29 марта 2012 г.
- ^ «Загрузите ASP.NET MVC 1.0 из официального центра загрузки Microsoft» . Майкрософт . Проверено 17 января 2015 г.[ постоянная мертвая ссылка ]
- ↑ Фил Хаак (16 декабря 2009 г.). «Выпущен ASP.NET MVC 2 RC» . Проверено 17 января 2015 г.
- ^ Фил Хаак (4 февраля 2010 г.). «Выпущен ASP.NET MVC 2 RC 2» . Проверено 17 января 2015 г.
- ^ «Загрузите ASP.NET MVC 2 RTM из официального центра загрузки Microsoft» . Майкрософт . Проверено 17 января 2015 г.
- ^ аб «ASP.NET MVC 3». Официальный сайт Microsoft ASP.NET . Проверено 17 января 2015 г.
- ^ «Анонс ASP.NET MVC 3 (выпуск-кандидат 2)» . Блог СкоттГу. weblogs.asp.net . Проверено 17 января 2015 г.
- ^ «Загрузите ASP.NET MVC 3 RTM из официального центра загрузки Microsoft» . Майкрософт . Проверено 17 января 2015 г.
- ^ "АСП.NET". КодПлекс . Проверено 17 января 2015 г.
- ^ «ASP.NET MVC 4» . Официальный сайт Microsoft ASP.NET . Проверено 17 января 2015 г.
- ^ "Блоги MSDN" . Майкрософт . Проверено 17 января 2015 г.
- ^ "Блоги MSDN" . Майкрософт . Проверено 17 января 2015 г.
- ^ «Примечания к выпуску ASP.NET и веб-инструментов 2012.2» . Официальный сайт Microsoft ASP.NET . Архивировано из оригинала 10 января 2015 года . Проверено 17 января 2015 г.
- ^ Команда Microsoft ASP.NET. «ASP.NET и веб-инструменты для примечаний к выпуску Visual Studio 2013». Официальный сайт Microsoft ASP.NET . Проверено 17 января 2015 г.
- ^ abcdefghijk «Microsoft ASP.NET MVC 5.2.2». НуГет . Проверено 17 января 2015 г.
- ^ «Анонс ASP.NET MVC 5.2.4, веб-API 5.2.4 и веб-страниц 3.2.4» . Майкрософт. 12 февраля 2018 года . Проверено 14 марта 2018 г.
- ^ «Анонс ASP.NET MVC 5.2.5, веб-API 5.2.5 и веб-страниц 3.2.5» . Майкрософт. 2 мая 2018 года . Проверено 4 мая 2018 г.
- ^ «Блог ScottGu - Представляем «Razor» - новый механизм представления для ASP.NET» . asp.net .
- ^ «ASP.NET MVC 3» . Официальный сайт Microsoft ASP.NET .
- ^ "Учебные пособия по предварительному просмотру 2 ASP.NET MVC Скотта Хансельмана" . Архивировано из оригинала 29 октября 2008 года . Проверено 13 октября 2008 г.
- ^ MVCContrib
- ^ «string-template-view-engine-mvc — ASP.Net MVC ViewEngine для StringTemplate — Хостинг проектов Google» . гугл.com .
- ^ "Механизм Spark View" . КодПлекс . Архивировано из оригинала 11 января 2018 года . Проверено 15 марта 2013 г.
- ^ «ndjango — реализация языка шаблонов Django на платформе .NET с использованием языка F #. — Хостинг проектов Google» . гугл.com .
дальнейшее чтение
- Джон Галлоуэй, Фил Хаак, Брэд Уилсон и К. Скотт Аллен, Professional ASP.NET MVC 3 , Wrox, 2011, ISBN 1-118-07658-3
- Джеффри Палермо, Джимми Богард, Эрик Хекстер, Мэтью Хинце и Джереми Скиннер, ASP.NET MVC 4 в действии , Manning Publications, 2012, ISBN 978-1617-29041-1
- Стивен Сандерсон, Адам Фриман, Pro ASP.NET MVC 3 Framework, второе издание , Apress, 2011 г., ISBN 1-4302-3404-0
- Джонатан Маккракен, Test-Drive ASP.NET MVC , Pragmatic Bookshelf, 2010, ISBN 1-934356-53-0
- Стивен Вальтер, ASP.NET MVC Framework Unleashed , Sam's, 2009, ISBN 0-672-32998-0
- Арно Вейль, Изучение ASP.NET MVC , 2015 г., ISBN 1-32648303-X
- Эндрю Лок, Ядро ASP.NET в действии , Manning Publications, 2018, ISBN 978-1617-29461-7
Внешние ссылки