Должен ли я создать свое следующее веб-приложение в ASP.NET MVC? - PullRequest
9 голосов
/ 29 октября 2008

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

Должен ли я сделать решительный шаг сейчас, пока MVC все еще находится в бета-версии, или подождать с кандидатом на релиз?

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

Тем не менее, я ценю точку зрения на вебформы против mvc. Это просто не входит в суть моего вопроса.

Ответы [ 7 ]

17 голосов
/ 29 октября 2008

Это довольно простое дерево решений, на самом деле.

Выберите ASP.NET MVC, если вы ...

  • Тщательно относитесь к URL-адресам
  • Тщательно позаботьтесь о своем HTML
  • Хотите истинного разделения проблем
  • Желаем тестируемости насквозь
  • Требуется гибкость механизмов просмотра (ASPX, NVelocity, NHaml и т. Д.)

Выберите веб-формы, если вы ...

  • Наслаждайтесь динамической абстракцией WebForms (ViewState)
  • Не против модель PostBack
  • Предпочитают компоненты, которые можно «перетаскивать» на странице

Для меня ответом будет 99% ASP.NET MVC, потому что я думаю, что это гораздо лучше подходит для Интернета. Я думаю, что история ajax также намного чище, и я полностью контролирую свои HTML и URL. Кроме того, я могу довольно легко протестировать свой веб-сайт (контроллеры).

Да, я знаю, что вы можете получить чистые URL-адреса в WebForms, и вы можете иметь чистый (er) HTML с помощью адаптеров управления, и вы можете достичь уровня тестируемости с помощью шаблона MVP в WebForms, но это все не путь приближается. В ASP.NET MVC этот материал является основным. Вот как ты это делаешь.

И не беспокойтесь о предварительном / бета-статусе. Команда всегда утверждала, что вам не нужна действующая лицензия для ее развертывания (даже если они сейчас ее предлагают). Это просто добавка к существующей среде выполнения ASP.NET.

Это как автоматическая или механическая коробка передач. Выберите тот, который делает вас счастливым, и бегите с ним.

4 голосов
/ 29 октября 2008

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

  1. Создайте лучший продукт.
  2. Выведите на рынок быстрее.

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

1 голос
/ 29 октября 2008

Если ваше приложение не очень простое, вполне вероятно, что MVC будет выпущен до того, как вы приступите к работе. Это вряд ли имеет значение, хотя. Я работаю на MVC начиная с Preview 2. Каждая новая версия содержит критические изменения; однако их было не очень сложно отследить и исправить. Маловероятно, что к 1.0 вы могли бы создать гору кода, который был бы опрокинут некоторыми изменениями. Просто выделите несколько человеко-часов для применения каждой новой версии.

1 голос
/ 29 октября 2008

Я бы порекомендовал дать ему шанс.

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

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

Но, в конце концов, всегда есть риск принять раннюю бета-версию продукта. :)

1 голос
/ 29 октября 2008

Пока Mvc выглядит хорошо, однако я адвокат замка. Я использовал монорельс на многих производственных площадках, и это помогло мне узнать об IoC и AR. Выключить замокproject.org

0 голосов
/ 29 октября 2008

Если это не критично для миссии, и у вас и вашей команды есть время, чтобы изучить это, то почему бы и нет?

0 голосов
/ 29 октября 2008

Если вам не нужно скоро запускать ваше приложение, пишите его в MVC. Здесь у нас есть команда, которая работает с MVC и планирует запустить ее в производство в январе 2009 года.

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