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





Вот что самое замечательное в MVC. Он работает ближе к основе платформы, чем обычные веб-формы ASP.NET. Итак, используя MVC и понимая его, вы лучше понимаете, как работают WebForms. Проблема с WebForms заключается в том, что там много волшебства и около 6 лет попыток заставить Интернет работать как Windows Forms, поэтому у вас есть иерархия дерева управления и все, что переведено в Интернет. С MVC вы получаете ядро без влияния WinForm.
Итак, начните с MVC, и при необходимости вы легко сможете перейти к WebForms.
начать с MVC, а затем перейти к WebForms? так глупо . это как сделать 1 шаг вперед и 3 назад
ASP.Net Webforms - это совершенно другая абстракция по сравнению с базовой платформой, чем ASP.NET MVC. С MVC у вас больше контроля над тем, что происходит под прикрытием, чем с веб-формами ASP.NET.
На мой взгляд, изучение разных способов работы обычно делает вас лучшим программистом, но в этом случае, возможно, есть чему поучиться.
ИМО, в обычных сценариях веб-форм больше подводных камней, чем только в MVC. Viewstate и привязка данных иногда могут быть сложными.
Но для MVC это просто простая форма публикации / рендеринга вещей в олдскульном стиле. Не то чтобы он плохой, он просто другой, да и чище тоже.
Я не могу технически говорить о MVC и «традиционном», поскольку до сих пор использовал только традиционную модель. Однако из того, что я прочитал, я не думаю, что одно значительно превосходит другое. Я думаю, что как только вы "поймете это", вы сможете быть очень продуктивными в обоих направлениях.
Однако на практике я бы принял во внимание, что большинство книг, примеров кода и существующих приложений написаны «традиционным» способом. Вам доступна дополнительная помощь, и ваши навыки будут более полезными для работодателей с существующими приложениями, написанными «традиционным» способом.
Я не согласен с аргументом о примерах кода. MVC - это HTML / Javascript, работающий против методов C#. Материал webcontrol взят оттуда, а не заменены с чем-то еще. Поскольку все веб-технологии работают с HTML и могут (должны) работать с javascript, я нашел решения своих проблем намного быстрее, чем выяснял, как что-то сделать с помощью элемента управления asp.net.
Есть только несколько новых вещей, которые нужно изучить, чтобы начать работу с ASP.NET MVC, если у вас есть классический опыт работы с ASP.NET, и многое из того, о чем вы можете забыть.
Я согласен с Ником: 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!
Также см. stackoverflow.com/questions/102558/…