ASP Webforms или MVC для сложного веб-приложения - PullRequest
0 голосов
/ 25 ноября 2010

Я прочитал почти каждый вопрос / ответы о веб-формах против MVC.Но никто не ответил на то, что я собираюсь спросить.

Мы небольшая команда разработчиков (3 чел.), И у нас есть устаревшее приложение, похожее на Crystal Reports.

Нам нужно преобразовать этот VB6приложение для веб-приложения.Причина?Он был написан на VB6, а поддержка VB6 будет прекращена в Windows 8. Это приложение будет / будет похоже на Crystal Reports / Google Docs, где тысячи пользователей будут использовать веб-приложение для создания сложных отчетов из большой базы данных.Диаграммы и графики будут генерироваться динамически на основе запрашиваемых данных.Все отчеты затем можно экспортировать в PDF и другие поддерживаемые типы файлов документов.Возможная функция - создание документов Word с этими данными или, по крайней мере, аннотирование отчетов в формате PDF.Документ / Управление контентом также требуется для хранения и поиска.

ОК - очевидно, это довольно сложное веб-приложение с множеством обращений к базе данных / запросов.Внешний интерфейс также должен быть довольно острым (хотя обзор сетки не обязателен).

Ограничения: 1. Время выхода на рынок относительно короткое (от 6 месяцев до 1 года)

  1. Технология должна существовать или быть доступной в течение следующих 10-20 лет. Мы не можем работать над этим приложением вечно, постоянно обновляя и переписывая его каждый раз, когда новая технология заменяет старую.HTML будет работать дольше этого времени, но ASP.NET?

  2. Производительность конечного пользователя должна быть относительно высокой.это не должно быть быстрым пузырем;но это не должно отставать настолько (более 2 секунд для ответа), что пользователи начинают жаловаться.(т.е. ViewState не является проблемой, если он не превышает 100Kb).

Пожалуйста, ответьте на мои вопросы:

  1. Поэтому мой вопрос к вам: мы идем с Webforms или MVC?

  2. MVC звучит привлекательно, но MVC STATELESS.Как вы думаете, должно ли это приложение сохранять состояние или я могу обойтись без него?Или возможно реализовать состояние в MVC (в замешательстве)?

  3. Некоторые пользователи находятся в государственных департаментах и ​​имеют ноутбуки, которые по соображениям безопасности ограничены (их ИТ-администратором) - такJavascript, для значительного числа пользователей будет выключен.Это означает, что JQuery не может быть возможной технологией.Есть ли какой-нибудь способ приспособиться для браузеров Javascript и не Javascript?

Заранее спасибо.

Сэм

Ответы [ 4 ]

2 голосов
/ 25 ноября 2010

Использование веб-форм .

И вот почему:

1 - Ускоренное время разработки (быстрая разработка приложений) - как указано в ваших временных ограничениях

2 - Для сложных диаграмм / отчетов / сеток вам придется свернуть свои собственные с ASP.NET MVC (или использовать помощника, созданного кем-то другим). Но с веб-формами у вас есть множество серверных элементов управления (и таких продуктов, как Telerik).

Итак, ответьте на ваши вопросы:

  1. Веб-формы - см. Выше.
  2. Мы не можем ответить на этот вопрос - мы не знаем, как именно будет работать ваше приложение. MVC сам по себе не является государством без сохранения состояния, так как он не использует ViewState. Но вы все равно можете использовать такие вещи, как Session.
  3. JavaScript является клиентской стороной и не имеет отношения к Web Forms vs MVC. Вам придется обслуживать сценарии без JavaScript (свести к минимуму работу AJAX, эффекты и т. Д.).

Вы упомянули "скорость должна быть быстрой". Хорошо, если ViewState - проблема, выключите его! Меня раздражают люди, которые говорят: «Я ненавижу ViewState, он замедляет страницы», когда вы можете просто отключить его на уровне элемента управления или страницы.

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

1 голос
/ 25 ноября 2010

MVC

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

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

  3. Хотя тот факт, что JS может быть отключен, немного раздражает в работе, WF и MVC должны будут решать проблему аналогичным образом и не должны влиять на ваше окончательное решение.

1 голос
/ 25 ноября 2010
  1. Это совершенно субъективно;используйте тот, который вы хотите.Я лично предпочитаю MVC, но использую все, что вам захочется.
  2. HTTP не имеет состояния, независимо от того, какой клиент или сервер.Тем не менее, у всех веб-фреймворков есть хитрости, чтобы сделать их полными состояния.MVC не здесь исключение.Он просто не использует ту же хитрость, что и ASP.NET Webforms.
  3. Да.Определите, включен ли у них Javascript, и обязательно предоставьте альтернативные серверные способы выполнения тех же функций.
0 голосов
/ 17 февраля 2012

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

хотя на самом деле

ultra fast asp.net от Rick Kiessig решает 99% всех проблем со скоростью работы с веб-формами. Если у вас есть эта книга, то веб-формы не составляет труда

mvc был форком Microsoft, потому что многие веб-пользователи не могли оптимизировать состояние просмотра

теперь вы можете отключить режим просмотра для каждой страницы или для каждого компонента, или просто отправить в Индию электронное письмо с кодом и сказать «ускори это, так или иначе».

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