Традиционные веб-формы ASP .NET против MVC

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

Я как бы ищу ловушки или ловушки в моих общих знаниях C#, о которых я не узнаю из серии скринкастов и прочего на сайте ASP .NET.

Также см. stackoverflow.com/questions/102558/…

nawfal 04.05.2014 21:21
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
23
1
11 522
8
Перейти к ответу Данный вопрос помечен как решенный

Ответы 8

Ответ принят как подходящий

Вот что самое замечательное в MVC. Он работает ближе к основе платформы, чем обычные веб-формы ASP.NET. Итак, используя MVC и понимая его, вы лучше понимаете, как работают WebForms. Проблема с WebForms заключается в том, что там много волшебства и около 6 лет попыток заставить Интернет работать как Windows Forms, поэтому у вас есть иерархия дерева управления и все, что переведено в Интернет. С MVC вы получаете ядро ​​без влияния WinForm.

Итак, начните с MVC, и при необходимости вы легко сможете перейти к WebForms.

начать с MVC, а затем перейти к WebForms? так глупо . это как сделать 1 шаг вперед и 3 назад

Zakos 17.02.2014 20:54

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

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

ИМО, в обычных сценариях веб-форм больше подводных камней, чем только в MVC. Viewstate и привязка данных иногда могут быть сложными.

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

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

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

Я не согласен с аргументом о примерах кода. MVC - это HTML / Javascript, работающий против методов C#. Материал webcontrol взят оттуда, а не заменены с чем-то еще. Поскольку все веб-технологии работают с HTML и могут (должны) работать с javascript, я нашел решения своих проблем намного быстрее, чем выяснял, как что-то сделать с помощью элемента управления asp.net.

Thomas Stock 21.05.2009 13:10

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

Thomas Stock 21.05.2009 13:11

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

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

Это зависит от вашей мотивации. Если вы собираетесь продавать себя как разработчик ASP.NET, вам понадобится и то, и другое.

Если это просто для вашего удовольствия, то перейдите в MVC.

Лично я считаю, что веб-формы будут существовать еще несколько лет. Так много людей вложили в них время и энергию. Однако я думаю, что люди будут мигрировать медленно (а может, и не так медленно!). Веб-формы всегда были просто способом заставить перетаскивать морт VB4 думать о веб-разработке. Это вроде как сработало, но отнимает много контроля.

Если вы не знаете, как или не имеете опыта работы с необработанными веб-запросами / ответами и необработанными html / css-рендерингами, тогда MVC будет хорошим местом для начала. Тогда вы лучше поймете плюсы и минусы как веб-форм, так и mvc. Оба они появятся в будущем, поскольку оба предназначены для разных нужд.

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

ASP.NET MVC предназначен для разработчиков, которые хотят отделить клиентский код от серверного. Я хотел написать клиентов JavaScript, XHTML, CSS, которые могут перемещаться с сервера на сервер (независимо от серверной технологии). Клиенты требуют много времени для установки и завершения, поэтому вы захотите использовать их (и подкомпоненты) для как можно большего количества серверов. Также это разделение позволяет вашему серверу поддерживать любую клиентскую технологию, которая поддерживает HTTP и угловые скобки (и / или JSON), например WPF / Silverlight. Без ASP.NET MVC вы были вынуждены вступить во враждебные отношения со всей командой ASP.NET, но Скотт Гатри - крутой чувак и вносит MVC в стол после того, как годы его предшественников (и, возможно, самого Скотта) почти полностью сосредоточились на заставить программистов Windows Forms писать веб-приложения.

До появления ASP.NET MVC я создавал приложения ASP.NET в основном на основе файлов ASHX - обработчиков HTTP. Могу заверить вас, что ни один «настоящий» магазин Microsoft не будет поощрять такое поведение. С точки зрения (мудрого) управления легче предписать всем вашим разработчикам использовать рекомендуемый производителем способ использования инструментов поставщика. Таким образом, ИТ-отделы, которые отстают на один или два года, потребуют от вас знания того, что было до MVC. Это также пригодится, когда вам нужно поддерживать «устаревшую» систему.

Но для зеленого поля это полностью MVC!

Другие вопросы по теме