Традиционные веб-формы ASP .NET против MVC - PullRequest
21 голосов
/ 03 сентября 2008

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

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

Ответы [ 8 ]

41 голосов
/ 03 сентября 2008

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

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

8 голосов
/ 03 сентября 2008

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

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

4 голосов
/ 03 сентября 2008

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

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

2 голосов
/ 11 ноября 2008

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

2 голосов
/ 03 сентября 2008

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

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

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

1 голос
/ 03 сентября 2008

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

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

1 голос
/ 03 сентября 2008

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

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

0 голосов
/ 11 ноября 2008

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

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

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