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

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

MVC baby! И JQuery!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Является ли MVC «ароматом дня», или он имеет силу пребывания?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

MVC

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

И то и другое!

Я делаю длинный путь к 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 изменит все это.

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

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

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

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

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

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

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

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

  • Вызов «WebMethod» с jQuery в ASP.NET WebForms
  • Что такое «жизненный цикл страницы» ASP.NET WebForm?
  • Как запретить пользователям дважды щелкнуть кнопку?
  • Веб-формы Asp.Net и веб-страницы Asp.Net
  • Плагин jQuery Validation в веб-формах ASP.NET
  • Лучший способ в asp.net заставить https для всего сайта?
  • Получить все веб-элементы управления определенного типа на странице
  • Давайте будем гением компьютера.