Мы специализируемся на разработке веб-приложений на стеке Microsoft, а значит перед началом каждого нового проекта становится выбор между ASP.NET MVC и ASP.NET Web Forms. Однако большую часть проектов мы делаем на ASP.NET MVC. Давайте рассмотрим и сравним их, определим сильные и слабые стороны.
ASP.NET Web Forms позволяет быстро создавать динамические сайты, добавлять элементы управления на страницу с помощью перетаскивания, в пару кликов добавлять события на элементы управления и обрабатывать их. А тем, кому не хватит стандартных элементов смогут создать свои или воспользоваться огромным количеством готовых элементов управления, скачав их с интернета.
Элементы управления генерируют html-код, а обработка событий происходит с помощью postback’ов. С одной стороны это позволяет быстро добавлять элементы и события к ним, а с другой стороны может генерировать излишний html-код, на который не всегда можно повлиять. Так же с этим связана ещё одна проблема, зачастую логика интерфейса переплетена с остальным кодом, что может вызвать проблемы при поддержке этого кода или масштабирование продукта.
Резюмируя
ASP.NET Web Forms идеально подходит для быстрой разработки и запуска продукта. Время на разработку элементов управления практически не требуется, почти всё есть “из коробки”, а чего нет, то можно скачать. Порог вхождения для разработчиков достаточно низкий, особенно для тех, кто имел дело с WinForms (используется такая же модель событий).
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.
Источник: https://falconspace.ru/blog/partnerstvo-pri-razrabotke-proekta---tonkaya-shtuka
Источник: https://falconspace.ru/blog/cenoobrazovanie-v-mire-veb-razrabotki
Источник: https://falconspace.ru/blog/kak-zapustit-proekt-s-minimumom-zatrat
В этой статье мы рассмотрим такое понятие как - Minimal Viable Product (минимально жизнеспособный продукт).…
https://falconspace.ru/blog/bazovye-voprosy-i-ponyatiya-v-sfere-sozdaniya-veb-proektov - Основы веб-разработки. Базовые понятия для владельца сайта
https://falconspace.ru/blog/bazovye-voprosy-i-ponyatiya-v-sfere-sozdaniya-veb-proektov - Основы веб-разработки. Базовые понятия для владельца сайта