Зачем мне использовать ASP.NET MVC на общедоступном сайте и веб-формы в интрасети? - PullRequest
8 голосов
/ 22 мая 2009

Я задал этот вопрос:

Предназначено ли ASP.NET MVC для замены веб-форм?

и несколько ответов было таково: если веб-сайт был общедоступным / Интернет, чтобы использовать MVC, но если он был внутренним, чтобы использовать WebForms. Я видел некоторые причины для этого, но некоторые из них на самом деле не помогли мне понять, почему это рационально будет так.

Я надеялся на комментарии. Почему бы мне не захотеть использовать ASP.NET MVC для всего, кроме небольшого сайта? Почему Интернет или Интранет имеют значение?

Кроме того, я знаю, что один инструмент не делает все. Я не хочу использовать веб-формы, не то чтобы я думаю, что не могу или что это как-то «плохо». В этом вопросе я спрашиваю конкретно о MVC и почему это будет иметь значение для местоположения веб-сайта (публичного или частного).

Спасибо.

Ответы [ 7 ]

10 голосов
/ 22 мая 2009

Мне кажется, у меня есть идея относительно того, почему это внутреннее и внешнее различие возникло в вашем предыдущем вопросе.

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

Использование веб-форм для внутренних приложений рекомендуется, потому что у вас есть полный контроль над тем, какие браузеры используются в вашей сети. Кроме того, внутренние приложения обычно не имеют такой же бюджет, как внешние сайты. Веб-формы позволяют за считанные минуты объединить сетку базы данных, разбиение по страницам, сортировку и т. Д. Путем перетаскивания кода на страницу ASPX. Мотивация, на мой взгляд, основана исключительно на деньгах и времени.


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

Самым большим преимуществом ASP.NET MVC, которое я вижу, является AJAX. Мне легче иметь дело с JQuery AJAX-запросами при использовании MVC, а не с WebForms. Я также фанат контроля, поэтому использование MVC также удовлетворяет этому аспекту ...

4 голосов
/ 22 мая 2009

Я думаю, что различие между внутренним и внешним веб-сайтами было бы лучше классифицировать как веб-сайты, основанные на данных, чем веб-сайты, основанные на контенте.

IM (очень) HO, использующий текущую версию MVC для построения, например, систем ввода данных с большим количеством табличных данных, встроенным редактированием, сортировкой, разбиением по страницам, фильтрацией и т. Д., По сравнению с использованием WebForms является довольно большой работой.

Однако, если веб-сайт больше заинтересован в представлении контента конечному пользователю (типичные веб-сайты: блоги, приложения для электронной коммерции, порталы), MVC предоставляет много преимуществ по сравнению с веб-формами. Обычно веб-сайты, подобные этим, больше озабочены проблемами представления (которые могут быть проблемой, если вы чрезмерно полагаетесь на серверные элементы управления WebForms для рендеринга).

4 голосов
/ 22 мая 2009

Местоположение не очень важно, что объяснялось тем, что типичный веб-сайт интрасети имеет следующие свойства:

  • Очень низкая пользовательская нагрузка, обычно подается на внутренняя сеть
  • Очень короткое развитие графики
  • Очень частая "особенность дополнения ", которые состоят из дополнений CRUD

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

2 голосов
/ 22 мая 2009

Для меня преимущество ASP.NET Webforms заключается в том, что вы можете разрабатывать их быстрее, чем ASP.NET MVC. Стоимость: сложнее сделать из них современные CSS-совместимые приложения, а также вес Viewstate и жизненный цикл страницы.

Если у вас отключен ASP.NET MVC, нет причин не использовать его для приложений в интрасети.

Если вы потратили несколько лет на то, чтобы уменьшить объем веб-форм ASP.NET, вы, вероятно, можете использовать их для интернет-приложений.

1 голос
/ 24 мая 2009

Я не вижу разницы между этими двумя в контексте общедоступных / интранет-приложений, я вижу только разницу в подходе и стиле написания приложения, поэтому выбирайте все, что вам нравится

ура

1 голос
/ 22 мая 2009

MVC обеспечивает лучшее разделение интересов, чем веб-формы, однако, он сопряжен с некоторыми накладными расходами, которые труднее оправдать в небольших проектах. Решение об использовании одной модели над другой должно основываться не на решении для внутренней сети или Интернета, а на таких факторах, как долговечность, ремонтопригодность и масштабируемость. По моему опыту, MVC - лучший выбор, если проект большой, имеет большую и разнообразную команду разработчиков и, вероятно, нуждается в постоянном обслуживании. Webforms лучше подходят для быстрой разработки на небольших краткосрочных проектах.

Излишне говорить, что WebForms могут и использовались в больших проектах, так как MVC может использоваться в небольших проектах. Вам необходимо оценить преимущества каждого из них в зависимости от потребностей вашего проекта.

0 голосов
/ 22 мая 2009

Как примечание к другим ответам, в среде интрасети соглашения об именах URL (т. Е. / Controller / method ... и т. Д.) Гораздо менее важны, так как в этом нет необходимости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...