Подтвердить что ты не робот

Когда использовать ASP.NET MVC или ASP.NET Web Forms?

Один из распространенных вопросов, связанных с ASP.NET MVC, - почему вы должны использовать его через веб-формы ASP.NET? Ответ, как правило, включает ViewState и чистые URL-адреса, среди прочих. К концу вы найдете рекламу о том, как использовать правильный инструмент для работы и что они служат для разных целей. Тем не менее, я не верю, что когда-либо видел, что это за цели. Итак, когда бы вы выбрали ASP.NET MVC поверх веб-форм ASP.NET или ASP.NET Web Forms через ASP.NET MVC?

4b9b3361

Ответ 1

Вы не выбираете ASP.Net MVC через ASP.Net, потому что ASP.Net MVC по-прежнему является ASP.Net. Вы выбираете ASP.Net MVC или ASP.Net Web Forms, и есть много веских причин для этого:

  • Легче получить контроль над своим HTML
  • Легче выполнять модульное тестирование
  • Немного "Gotchas"

С другой стороны, веб-формы имеют несколько моментов в свою пользу:

  • Простое создание простых CRUD/бизнес-приложений вместе очень быстро
  • Трудно превзойти производительность ViewState в локальной локальной сети.
  • Легко изучать формы парадигмы

В результате, если вы создаете бизнес-приложения в корпоративной локальной сети (которая, честно говоря, по-прежнему является большинством веб-разработчиков), Web Forms действительно замечательный. В этом смысле Microsoft действительно знает свой рынок. Но если вы создаете приложение для общедоступного Интернета, вам может понадобиться MVC, чтобы вы могли тщательно протестировать и убедиться, что ваши страницы не раздуты с ненужными данными ViewState или JavaScript.

Кроме того, что-то, что изменилось за последние несколько лет, состоит в том, что даже многие приложения корпоративной интрасети теперь нуждаются в поддержке домашнего/удаленного использования, что делает MVC более привлекательным для этой толпы, чем это было.

Ответ 2

Используйте MVC, если все члены вашей команды достаточно квалифицированы для управления "контролем над HTML", иначе ваш код превратится в супруг тега .

Другими словами

bool useMvc = true;
foreach (TeamMember member in team.Members)
{
    useMvc = useMvc && member.IsSkilled;
} 

Ответ 4

Я дам вам пару целей с явными преимуществами.

  • Если ваша цель - публичный сайт, который будет тратить деньги на трафик, используйте MVC. Это оптимально для поисковой оптимизации.

  • Если ваша цель - это веб-приложение предприятия, которое работает как настольное приложение, я бы склонялся к веб-формам, поскольку управление штатами и разделение ваших ресурсов на базовые серверные элементы управления предоставляют огромные преимущества при правильном использовании.

Ответ 5

Самые большие проблемы, с которыми сталкиваются разработчики, - это управление сложностью и сохранение кода "чистым". MVC дает разработчику вожжи использовать ООП, чтобы убрать сложность и сделать код легким на глазах.

Веб-формы будут быстрее развиваться в краткосрочной перспективе, но не поддаются долгосрочной устойчивости с точки зрения обслуживания и роста.