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

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

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

Я как бы искал подводные камни или ловушки, насколько мне известно об общем С#, о которых я не буду знать из серии screencast и вещей на сайте ASP.NET.

4b9b3361

Ответ 1

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

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

Ответ 2

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

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

Ответ 3

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

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

Ответ 4

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

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

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

Ответ 5

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 полностью!

Ответ 6

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

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

Ответ 7

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

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

Ответ 8

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

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