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

Какой ваш выбор для следующего проекта ASP.NET: веб-формы или MVC?

Скажем, что завтра вы запустите новый веб-сайт/приложение ASP.NET. Вы бы выбрали веб-формы или MVC и почему?

4b9b3361

Ответ 1

MVC baby! И JQuery!

Изменить: Хорошо, это справедливо, чтобы сказать, что мой ответ требует немного больше информации.

Я бы выбрал MVC по следующим причинам:

  • Я работал в Rails и нашел его очень продуктивным. ASP MVC так много заимствовал у Rails, что он как-то кажется прямым портом (и это хорошо на мой взгляд).
  • AJAX важен, но я ненавижу подход Microsoft "Атлас" к AJAX (независимо от названия продукта в наши дни). Если вы собираетесь делать AJAX, вам нужно понять HTML и JavaScript. Рамки, которые скрывают это от вас, причиняют вам боль больше, чем они помогают вам (IMO).
  • JQuery взял на себя весь мир, который кажется с точки зрения фреймворков JavaScript. ASPMVC хорошо интегрирован с ним. Я хочу научиться этому, так что там большое расположение.
  • Вся "контрольная" модель является опрятной идеей, но она сложнее, чем кажется на поверхности. Например, оглянитесь на SO для вопросов о том, как UserControl может найти свой самый высокий уровень, содержащий контроль и т.д. Абстракция иерархии управления имеет утечки в ней. Сетки велики, если они делают то, что вы хотите из коробки, но очень сложно настроить их, чтобы сделать то, что они не сделали. И лучшие элементы управления сеткой на рынке (те, которые настраиваются) являются большими, раздутыми, слишком сложными животными. Возможно, это показывает нам, что мы должны вернуться к HTML и позволить циклам в наших представлениях делать такие вещи для нас.
  • Я считаю, что я могу создавать полные, красивые приложения в ASPMVC намного быстрее, чем в ASP.Net(и у меня есть несколько лет ASP.Net под моим поясом). Посмотрите на StackOverflow... быстро построенный на ASPMVC с JQuery, и он быстрый, масштабируемый и радостный для использования IMO.
  • О, и это полностью с открытым исходным кодом! Это нормально читать исходный код, блог об этом и даже модифицировать, а затем распространять его!

Ответ 2

Я бы выбрал MVC просто потому, что он был предназначен для проверки и макета. Это будет основным фактором в моем решении.

WebForms гораздо труднее Unit Test, потому что они укоренены в нескольких конкретных классах, которые трудно, возможно, для Mock. К ним относятся HttpContext, HttpResponse, HttpRequest и HttpCookie.

MVC предназначен для проверки, и API значительно облегчает это.

Хорошая статья об испытании MVC: http://dotnetslackers.com/articles/aspnet/ASPNETMVCFrameworkPart2.aspx

Ответ 3

Лично я решил использовать оба...

Если это веб-сайт (просматриваемый онлайн), я решил использовать ASP.NET MVC. Если это приложение (веб-приложение с одной целью), я решил использовать веб-формы.

Это решение чисто основано на использовании дела и решении, которое вы пытаетесь выполнить. Если вы заинтересованы в хорошем SEO и более быстром веб-сайте, MVC намного чище HTML и быстрее, чем веб-формы.

Однако, если вы после сложной функциональности с множеством фильтров, сеток, обратных передач на одной странице и хорошо знакомы с Web Forms, просто придерживайтесь ее.

Ответ 4

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

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

Ответ 5

MVC FTW!, Причины?

  • Полный контроль над моим HTML
  • Магия веб-форм
  • Нет сложных жизненных циклов страницы
  • Ближе к металлу
  • Это естественная вещь для использования с HTTP

Ответ 6

Является ли MVC "ароматом дня", или он имеет выносливость?

Я работал с MVC и имел огромное количество веб-форм. Я часто задаюсь вопросом о выживаемости MVC.

Вы должны учитывать это при выборе того или другого. Что вы хотите поддерживать для всего срока службы продукта?

Ответ 7

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

Прокрутите ответы на вопросы, и вы увидите много вопросов/проблем с MVC (по сравнению с хорошими o WebForms). Только это меня беспокоило. И много вопросов, похоже, связано с особыми потребностями пользовательского интерфейса. Опять же, не попробовав, я не знаю, насколько зрелой она пока есть, но я все равно немного волнуюсь.

Возможно, кто-то, кто использовал его для корпоративного проекта, может пролить свет.

Ответ 8

В то время как MVC является новым ребенком на блоке, все еще есть много преимуществ для проектирования с помощью модели Web Forms.

  • Знакомство с инструментом
  • согласованность внешнего вида с существующими проектами
  • Инструмент/дизайнер
  • Обратная передача
  • Событие, управляемое
  • Элементы управления абстрактными
  • Сторонние элементы управления, которые работают
  • Быстрое развитие
  • Декларативный стиль

Рэйчел Аппель сделала отличную презентацию в MIX по этой теме. Вы можете посмотреть видео здесь:
Выбор между ASP.NET Web Forms и MVC
http://videos.visitmix.com/MIX09/T23F

Ответ 9

Я бы выбрал Webforms для локальных/интранет-приложений с богатой бизнес-логикой и MVC для общедоступного/интернет-сайта (блоги/форумы/презентации/простые сервисы). "Модель приложения WebForms" предпочтительнее в тех областях, где важна поддержка со стороны государства.

Ответ 10

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

Честно говоря, самый большой кусок времени, который я потратил, был CSS. Кодирование, интеграция с jQuery... арахисами.

OTOH, если вы не опытный разработчик, ASP.NET будет не обращаться к вам, поскольку он побуждает вас пройти весь путь и контролировать все аспекты вашего сайта - разметку HTML, CSS и т.д., что, в свою очередь, означает отсутствие контроля, перетаскивание визуального редактирования и т.д.

В отличие от традиционного ASP.NET, где вы остаетесь для себя и часто в конечном итоге смешиваете все виды пользовательского интерфейса, постоянства (DB) и кода бизнес-логики на разных страницах, MVC поможет вам и поможет вам структурировать ваше приложение гораздо более последовательно. Это не будет с вами, если вам не нравятся "упрямые" рамки и/или просто хотят выполнить работу, не заботясь о структуре сайта, ремонтопригодности, масштабируемости и т.д.

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

Ответ 11

MVC

... просто кажется настолько очевидным, что в будущем будущее

Ответ 12

В ASP.NET MVC вы жертвуете панель инструментов управления, URL-маршрутизация уже находится в ASP.NET(веб-формы)

Итак, я бы придерживался веб-форм ASP.NET(я не говорю, что MVC не очень хорош.)

jQuery, вы думаете, что ИТ-специалисты позволят вам использовать его?

Ответ 13

ASP.NET MVC, потому что я хочу узнать, как его использовать.

Ответ 14

Я хотел бы пойти с MVC. Я всегда шов, чтобы бороться с абстракцией, когда я работаю с WebForms.

Чтобы эффективно использовать WebForms, вам действительно нужно знать больше о том, как работает веб, чем если вы используете что-то вроде PHP. Я использую <asp:Literal вместо <asp:Label, чтобы не помещать <span> вокруг текста и работающих лабораторий, чтобы выяснить порядок событий и т.д.

Ответ 15

Я бы выбрал ASP.NET MVC по двум причинам: 1) Я хочу научиться овладевать им. 2) В ASP.NET MVC уже есть отличное сообщество, и у всех, кажется, очень позитивный подход к его использованию. Я не могу дождаться, чтобы увидеть, где все закончится, и я хочу быть частью этого.

Ответ 16

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

Ответ 17

Я жду MVC on.net в течение длительного времени. Я думаю, что более 90% людей будут выбирать MVC, а не webform.

Ответ 18

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

Ответ 19

Как всегда, это зависит от типа приложения, которое вы разрабатываете, и от отдельных обстоятельств. Многие наши внутренние приложения разрабатываются в SharePoint, поскольку это наша внутренняя платформа для приложений типа intranet.

Это автоматически ограничивает нас ASP.Net стандартной моделью.

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

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

Ответ 20

В настоящее время я работаю над проектом в Asp.net MVC с jQuery и jQuery-ui, и это очень весело.

Если вы знакомы с html и javascript (или другими фреймами MVC, такими как рельсы), MVC имеет гораздо больше смысла, чем старые веб-формы. И вы контролируете вывод, а не какой-то неопределенный контроль над формой, поэтому, если на странице есть ошибка, или вы хотите изменить макет, вы можете:).

Ответ 21

MVC. Мы собираемся переделать приложение, которое интенсивно использует SEO и швы MVC, чтобы они вставлялись прямо из коробки. Плюс я хочу пообщаться с классными детьми на детской площадке.

Ответ 22

Я только что выпустил крупный публичный сайт на платформе MVC после использования веб-форм для всех предыдущих проектов. Без сомнения, это путь, ИМО.

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

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

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

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

Ответ 23

И

Я делаю длинный путь к MVC. У меня слишком много кода, который легко работает в Web Forms. MVC является фантастическим, но его порог оставляет много в областях продуктивности, таких как шаблонные сетки и списки, основные элементы пользовательского интерфейса (каландр, автозаполнение и т.д.) И scafolding. Это все области, где Web Forms превосходит, но отходит от рельсов, если вам нужен точный контроль и вы хотите, чтобы все было просто.

MVC 3 и EF Code-Only могут быть великим браком, если они хотят преодолеть промежутки между ними. Большинство людей, которые используют Ruby, используют его для Rails, а ActiveRecord упрощает работу с.

Также мне бы хотелось увидеть параллельный проект "Feature Pack" для MVC с поддержкой MS, аналогичный тому, как они делали Microsoft Ajax Toolkit, который, как утверждают, имеет ежеквартальные обновления. Я не вижу MVC Futures и MVCContrib. Но я знаю, что у них так много бюджета. Итак, здесь, чтобы надеяться, что MVC 3 все это изменит.

Ответ 24

Просто скажите NO ASP.NET MVC, если вы разрабатываете для Intranet. Для Интернета обязательно.

Ответ 25

Хм.. На данный момент я смущен, как ты, и собираешься начать строительство нового сайта:). Я собирался начать с Webforms, но теперь я вижу, куда движется толпа, и я думаю, что теперь я дам MVC вихрь.

Спасибо, что задали этот вопрос.

Ответ 26

Теперь, когда он RTMed, и теперь, когда на нем есть очень хорошие ресурсы, я бы сказал, что ASP.net MVC будет моим сильным предпочтением, но он не будет вырезать и высушить.

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

Ответ 27

Я бы выбрал MVC, так как дизайнеры и разработчики могут работать параллельно в одном проекте. Дизайнеры могут работать над частью представления (JavaScript, CSS, HTML), в то время как разработчики backend могут работать над кодом контроллера.

Ответ 28

Я хотел бы делать ASP.Net MVC, хотя я все еще очень новичок в MVC. Но это не должно быть в обозримом будущем.

Ответ 29

Я собираюсь начать перестройку веб-сайта в ближайшие пару недель, который был ужасно написан в ASP.NET 2.0, и я собираюсь использовать ASP.NET MVC. По тем же причинам, что и выше. Я бы предпочел не использовать пользовательские элементы управления .NET и сам обрабатывать HTML/JavaScript (используя jQuery). Я делаю много веб-разработки на Java, так что хорошее понимание базового HTML/JavaScript/CSS важно для меня.