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

Как решить, что правильно, WebForms или MVC при выполнении ASP.NET

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

Allit будет формой входа пользователя и данных (или и извлечения данных), поэтому я начал думать о WebForms с FBA, но я хотел немного поиграть с MVC, и я думал, что это будет 't быть слишком плохим выбором.

Но не имея большого знания MVC, я не знаю, было ли это неправильно.

Итак, какой хороший способ решить, правильно ли выбраны WebForms или MVC?

4b9b3361

Ответ 1

Является ли это критическим, производственным уровнем или небольшим разовым? Можете ли вы заняться дополнительным временем, которое займет кривая обучения MVC, или вам нужно сделать это сразу? Можете ли вы позволить себе отказаться от всего этого и начать сначала, если MVC не работает? Готовы ли вы изменить платформу (возможно, не так много сейчас, когда она находится в стадии бета-тестирования) во время разработки? Есть ли другой проект, который менее критичен, чтобы вы могли использовать MVC для его изучения.

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

Ответ 2

Мне действительно очень нравится методология WebControls. Многие люди говорят, что "при выполнении MVC проще Unit Test". Прежде всего, вы должны в любом случае использовать какую-либо методологию, которую вы используете, чтобы обеспечить чистое разделение Business Logic и уровня пользовательского интерфейса. Если вы это сделаете, вы можете Unit Test свою бизнес-логику независимо от используемой вами методологии. Конечно, это может быть проще и "выйти из коробки" с MVC, но это не какая-то волшебная серебряная пуля, которая является единственной дорогой, ведущей в Рим...

Во-вторых, вы можете использовать WatiN, что делает ваше приложение пригодным для тестирования способами, которые намного превосходят обычные тесты Unit. (заметьте, я не имею в виду, что он должен заменить Unit Testing, но помимо Unit Testing вы доберетесь до уровня безопасности, который ранее невозможно получить)

В-третьих, сеть не имеет гражданства. Это связано с тем, что HTTP - это полностью безгосударственный протокол. Это именно то, что делает Интернет красивым, но в то же время очень сложным для разработки приложений. Методология WebControls в основном фиксирует это полностью, имея такие понятия, как ViewState. Это приносит много хлопот при разработке приложений. Взгляните на этот образец Ajax Calendar, которого в большинстве случаев невозможно достичь с помощью того же (небольшого) количества кода в любой другой парадигме, а затем WebControls ( отказ от ответственности, я работаю с самим Ra-Ajax)

Теперь взгляните на Stacked (Отказ от ответственности;... который я также работаю с BTW), тогда поймите, что я так намного меньше, чем 3 дня, развивая то, что вы там видите. Может быть, кто-то может достичь этого успеха с помощью MVC, но я сомневаюсь в этом...

Я думаю, что парадигма WebControl очень красивая. Уверен, что у него есть недостатки в некоторых моментах, но угадайте, что и все. Единственная "Серебряная пуля", которая существует в программировании как художественная форма, заключается в том, что Silver Bullet не существует.

Когда это сказано, я знаю, что Grurrah использует слой MVC Castle Project в дополнение к базе Ajax на основе WebControl. Поэтому смешивать WebControls и MVC может быть сложно, но, безусловно, невозможно...

Я думаю, что MVC получил много "заслуженной" шумихи, но, к сожалению, в этом процессе тоже много незаслуженной рекламы тоже!: (

Составьте свой собственный разум, не слушайте евангелистов MVC, пытающихся убедить вас, что они нашли "Серебряную пулю" для программирования в Интернете. И больше, не верьте мне! У меня тоже есть повестка дня (принять усыновление в Ра-Аякс)

Составьте свой разум. Спросить кого-то, следует ли вам делать MVC, это как просить, я должен есть яблоки или апельсины... Единственный ХОРОШИЙ ответ, который вы когда-либо получите; "Это зависит"...

Ответ 3

IMO, MVC - это способ продвижения вперед. Если у вас есть время, чтобы изучить способ программирования MVC (потому что вы намекали, что хотите играть с MVC.. то есть, вы еще не использовали его), то это будет отличная возможность выкопать продукт.

Кривая обучения невелика, если у вас есть предыдущий опыт WebForms (что я предполагаю, что вы это делаете).

Если вам нужно сделать сайт очень быстрым, не волнуйтесь, что это такое, и сайт будет небольшим, а затем перейдите в WebForms. Это быстрое и противное решение (только для моего мнения). WebForms работают на 100% отлично. Все мои сайты были WebForms, и они в порядке.

Резюме:

  • Получите время и хотите узнать лучший способ создания сайтов: MVC
  • Нет времени или не важно: WebForms.

gl и hth.

Ответ 4

Нам была предоставлена ​​такая же возможность. После нескольких месяцев работы с MVC мы обнаружили, что были вещи, которые мы не полностью понимали, а также те вещи, которые собирались внести некоторые изменения:

  • Реализация проекта репозитория шаблон
  • Html Helpers против стандартных элементов управления веб-формой, таких как Repeaters и GridView
  • Кэширование
  • Использовать ли мы используемую в настоящее время инфраструктуру Csla или попытаться перейти только к Linq-To-Sql с частичными классами для ведения бизнес-логики.
  • Сложные классы и пользовательские интерфейсы, в которых участвуют классы мастер-деталировки

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

Ответ 5

Webforms - это абстракция Интернета для людей, которые происходят из мира gui. Я нахожу, что у него много преимуществ, особенно в смысле RAD, но при написании больших толстых приложений вы часто заканчиваете рисовать себя в угол, из которого очень сложно выйти (т.е. Все, что связано с viewstate.)

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

В отличие от MVC вы относитесь к лучшим практикам. Он более результативен (весь жизненный цикл страницы/объект просмотра переигрывает как на клиенте, так и на сервере) и гораздо более чистенький с точки зрения архитектуры.

Недостатком является то, что вы можете сказать до свидания RAD, и вам действительно нужно иметь приличное знание css/javascript, чтобы делать красивые страницы.

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

Ответ 6

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