Является ли ASP.NET MVC шагом назад? - PullRequest
8 голосов
/ 21 мая 2009

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

Это движение назад? Я помню, как переходил от классического asp к asp.net и перетаскивал элементы управления, создавал bll и т. Д. Теперь мне кажется, что я делаю все это вручную, опять же, как в классике, за исключением того, что у меня хороший дизайн mvc.

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

EDIT:

Я всегда думал, что Visual Studio .NET - это одна из важнейших причин использования ASP.NET со всеми ее элементами управления и автоматизации. Теперь с MVC это заставляет меня думать, что это так же, как любой другой MVC с приличной IDE, так как я делаю все вручную.

Ответы [ 13 ]

19 голосов
/ 21 мая 2009
  • «Классический» ASP.NET никуда не делся - вы все равно можете использовать его, если вам это нужно или нужно
  • Несмотря на то, что вы можете или не можете получить функцию «перетаскивания», между AutoComplete и различными помощниками рендеринга вы можете легко получить рабочий вид за считанные минуты
  • Создание представлений - это лишь малая часть общего проекта
  • Даже в ASP.NET я редко использовал визуальный редактор. Я всегда чувствовал, что это мешает мне и ошибочно принимает за меня решения.
15 голосов
/ 21 мая 2009

шаг вперед:

  1. код полностью тестируемый
  2. вы получаете полный контроль над тем, что генерирует сервер
  3. нет больше просмотра!
  4. увеличена скорость отклика сервера
  5. меньше нагрузки на серверный процессор без ресурса веб-формы
  6. модель программирования, которая ближе к сети (веб-формы направлены на то, чтобы вывести в сеть модель программирования для настольных компьютеров)
  7. ....
7 голосов
/ 21 мая 2009

Забавно, вы должны упомянуть об этом - я только что закончил читать главу в " Professional ASP.NET MVC 1.0 ", которая отвечает на этот точный вопрос.

В книге сравнивается разница между веб-формами и MVC как разница между управлением оркестром и написанием песни. MVC не дает вам тот же уровень немедленного ответа, что и веб-формы, однако он дает вам уровень детализации, которого ожидали многие веб-разработчики . Хорошо известно, что элементы управления ASP.NET, даже в более поздних версиях, вводят больше HTML, чем хотелось бы.

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

5 голосов
/ 21 мая 2009

Это шаг в сторону, а не вперед или назад; просто еще один способ сделать то же самое, с другим акцентом. С формами ASP.NET легко «нарисовать» страницу, чтобы она выглядела примерно так, как вы хотите, чтобы она выглядела, но трудно заставить ее вести себя как правильное веб-приложение. С ASP.NET MVC не так просто собрать его внешний вид, но на самом деле проще заставить его вести себя как веб-сайт с URL-адресами, которые описывают возвращаемый контент предсказуемым образом.

3 голосов
/ 21 мая 2009

Расскажи мне об этом. Я все еще пытаюсь понять, почему я подвергаю себя этому. В конечном счете, продажа № 1 - это модульное тестирование. Для тех из нас, кто не подписан на это, преимущества, если таковые имеются, немного, если таковые имеются.

Тем не менее, я открыт, чтобы быть уверенным в обратном. Я думаю, что MVC - это хорошая основа, но, как вы говорите, иногда она очень утомительна. Раньше система управления перетаскиванием с панели инструментов была ужасной, но с 2008 года это было довольно приятно. Я ожидаю, что крупные поставщики инструментария, такие как Telerik, Infragistics, ComponentOne и др., Скоро выпустят дружественные MVC инструментарии (надеюсь!).

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

-Oisin

2 голосов
/ 22 мая 2009

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

Сеть эволюционировала в направлении, значительно отличающемся от основной концепции дизайна ASP.NET.

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

2 голосов
/ 21 мая 2009

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

Классический ASP был незрелым, но он дал вам очень точный контроль над кодом разметки, который многие считают отсутствующим в vanilla ASP.Net.

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

2 голосов
/ 21 мая 2009

Для меня избавление от viewstate и жизненного цикла страницы было добавлением путем вычитания. :) Не говоря уже о том, что я хорошо разбираюсь в веб-программировании, потому что мои руки «пачкаются».

1 голос
/ 22 мая 2009

ASP.net MVC не для всех или для каждого приложения (некоторые могут утверждать это до конца!). MVC - это фреймворк, который вы можете использовать в своей базовой форме или распространить на свое сердце. Это позволяет вам полностью контролировать то, что отображается пользователю.

MVC имеет ряд преимуществ:

Разделение проблем, приводящих к лучшей тестируемости, возможно лучшему дизайну и более легкому изменению пользовательского интерфейса

Полный контроль над тем, что отображается - что может привести к совместимости со стандартами, меньшим, более быстрым страницам

Очистить оптимизированные для SEO URL-адреса, хотя ASP.net 4 имеет функции маршрутизации

В чистом виде без использования балансировки нагрузки сеанса очень хорошо.

Он также имеет некоторые недостатки:

Требуется обучение и изменение мышления

Отсутствие сторонней поддержки, хотя это изменится

Страницы могут выглядеть загроможденными

Может быть сложнее разработать определенные типы элементов управления, например, что-то вроде переставляемой сетки данных или что-то с множеством шагов, таких как мастер

1 голос
/ 21 мая 2009

Я подумал, что отчасти ASP.Net MVC Framework дает разработчику больше контроля над HTML. Что-то из-за элементов управления перетаскиванием.

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