Categories: ASP.NETРазное

ASP.NET MVC и ASP.NET Web Forms

Мы специализируемся на разработке веб-приложений на стеке Microsoft, а значит перед началом каждого нового проекта становится выбор между ASP.NET MVC и ASP.NET Web Forms. Однако большую часть проектов мы делаем на ASP.NET MVC. Давайте рассмотрим и сравним их, определим сильные и слабые стороны.

ASP.NET Web Forms

ASP.NET Web Forms позволяет быстро создавать динамические сайты, добавлять элементы управления на страницу с помощью перетаскивания, в пару кликов добавлять события на элементы управления и обрабатывать их. А тем, кому не хватит стандартных элементов смогут создать свои или воспользоваться огромным количеством готовых элементов управления, скачав их с интернета.

Элементы управления генерируют html-код, а обработка событий происходит с помощью postback’ов. С одной стороны это позволяет быстро добавлять элементы и события к ним, а с другой стороны может генерировать излишний html-код, на который не всегда можно повлиять. Так же с этим связана ещё одна проблема, зачастую логика интерфейса переплетена с остальным кодом, что может вызвать проблемы при поддержке этого кода или масштабирование продукта.

Резюмируя

ASP.NET Web Forms идеально подходит для быстрой разработки и запуска продукта. Время на разработку элементов управления практически не требуется, почти всё есть “из коробки”, а чего нет, то можно скачать. Порог вхождения для разработчиков достаточно низкий, особенно для тех, кто имел дело с WinForms (используется такая же модель событий).

ASP.NET MVC

ASP.NET MVC появился позже, чем Web Forms. Microsoft пересмотрели подход, и в основу легла концепция MVC (model-view-controller). Здесь уже не найти горы готовых элементов управления и серверных событий элементов управления. Но благодаря всему этому ASP.NET MVC обрела дополнительную гибкость.

Все элементы управления создаются вручную или с помощью специальных html-хелперов. Минимум генерируемого кода, а значит элементы управления можно самостоятельно кастомизировать. На смену postback’ов пришли обычные формы.

Разделение ответственности достигается благодаря концепции MVC. Мы можем полностью изменить интерфейс, не меняя ни строчки кода в модели или контроллере, чего сложно было достигнуть в Web Forms. Как следствие, в проект проще внедрить тестирование кода, что положительно сказывается на количестве ошибок.

Резюмируя

Разработка с использованием ASP.NET MVC может проходить медленнее, чем с использованием Web Forms на начальном этапе. Однако ASP.NET MVC выигрывает в долгосрочной перспективе из-за повышенной гибкости и возможности быстрой масштабируемости. Порог вхождения для разработчиков выше, чем у ASP.NET Web Forms.

Руслан Раянов

Recent Posts

Cтандартизация задач сотрудника через личный кабинет #личныйкабинет

https://falconspace.ru/blog/sozdanie-arm-dlya-sotrudnikov--razrabotka-lichnogo-kabineta-dlya-sotrudnikov - Как сделать АРМ сотрудника. Личный кабинет сотрудника на сайте

20 часов ago

Контроль доступа к ресурсам информационной системы

https://falconspace.ru/blog/sozdanie-arm-dlya-sotrudnikov--razrabotka-lichnogo-kabineta-dlya-sotrudnikov - Как сделать АРМ сотрудника. Личный кабинет сотрудника на сайте

2 дня ago

Что дает личный кабинет для руководства компании?

https://falconspace.ru/blog/sozdanie-arm-dlya-sotrudnikov--razrabotka-lichnogo-kabineta-dlya-sotrudnikov - Как сделать АРМ сотрудника. Личный кабинет сотрудника на сайте

3 дня ago

Почему управление дистанционно вызывает опасение? В сети куча мошенников

https://falconspace.ru/blog/pro-udalennoe-vzaimodeystvie-zakazchika-i-podryadchika - Удаленное взаимодействие между заказчиками и разработчиками

5 дней ago

Удаленное взаимодействие между заказчиками и разработчиками #личныйкабинет

С одной стороны сразу видится кучу выгод от удаленной работы, но как-то страшно и боязно…

6 дней ago

Почему управление дистанционно вызывает опасение? Я могу физически контролировать подрядчика

https://falconspace.ru/blog/pro-udalennoe-vzaimodeystvie-zakazchika-i-podryadchika - Удаленное взаимодействие между заказчиками и разработчиками

1 неделя ago