2010-02-10 5 views
10

Это может быть обман, но я не могу найти прямой ответ. Если человек вот-вот начнет изучать веб-разработку через .NET-инфраструктуру, на какую технологию он должен пойти?Изучите Asp.Net WebForms или Asp.Net MVC

  • Asp.Net WebForms
  • Asp.Net MVC

Имея в виду эти три аспекта

  • будущее сфера
  • сложность
  • особенности

Примечание: сделал некоторые WinForms программирования с использованием C#

Благодарности

ответ

5

Как большинство людей скажут, что я уверен, это очень зависит от того, что вы хотите изучить, и от стиля развития, который вы хотите принять. Если вы хотите много контролировать разметку своей страницы и собираетесь использовать много AJAX и CSS, тогда MVC - лучший подход, самый большой компромисс - вы теряете элементы управления Microsoft, такие как Gridview и другие компоненты перетаскивания. MVC - это очень мощная и расширяемая структура и обучение, которое также позволит вам изучить шаблон MVC (что полезно, если вы когда-либо диверсифицировали свои навыки позже на других платформах разработки).

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

Моя личная рекомендация состоит в том, чтобы узнать MVC (и его образец), поскольку он не имеет запатентованных компонентов Microsoft с большим доверием и заставляет задуматься о вашем приложении на передней панели и о его взаимодействии с задним концом.

Если вы хотите хороший пример большого сайта MVC ... вы на нем ... stackoverflow запускается на ASP.NET MVC.

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

Ciao

Jon

1

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

Веб-формы были с тех пор, так что они намного более зрелые и надежные по сравнению с mvc, когда дело доходит до того, что все сделано вовремя! Даже база знаний в Интернете намного больше для веб-форм по сравнению с mvc.

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

Если вы новичок, то я предлагаю вам сначала перейти на веб-формы и начать смотреть на mvc параллельно.

stackoverflow.com был построен с использованием платформы asp.net mvc.

+1

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

+0

«Веб-формы очень функционально богаты и дают вам больше контроля над тем, что вы хотите» Я не могу это получить. Большинство учебных пособий/книг показывают, что MVC обеспечивает большую гибкость и контроль над тем, что и как приложение должно делать, чем WebForms !!! –

5

Это может быть fairly controversial :)

Мое личное мнение; прекратите инвестировать в веб-формы (это сломанная модель для Интернета) и изучите Asp.Net MVC, чтобы не только вы могли создавать хорошо разработанные веб-приложения, но и использовать свои знания в других местах в Интернете. MVC информирует вас о HTTP, HTML и других основных «веб-инфраструктурах», что дает вам больше шансов на успешные результаты.

Так что, если вы не хотите зарабатывать деньги (опять же полностью личное мнение, возьмите с собой щепотку соли), поддерживая старые установки webforms (немного как COBOL - держите вас за лошадей, поклонников веб-форм :)) Я бы определенно настоятельно рекомендовал Asp.Net MVC;). Конечно, я не знаю, недавние события на WebForms (especially 4.0 ones), так что вы можете ждать тех, кто, как хорошо ..

Edit: Если вы думаете, в прошлом WinForms опыт будет преимущество или аргумент для использования webforms (который, как мне кажется, является основным пунктом продаж для разработчиков Microsoft), вы будете правы примерно неделю и не будете правы в остальное время. В обоих веб-формах и winforms у вас есть элементы управления. На этом заканчивается сходство. Модель событий совершенно другая, потоки совершенно разные, вы не можете даже начать сравнивать рендеринг и так далее. На самом деле это основная проблема с webforms; пытаясь выглядеть как winforms на совершенно другой архитектуре.

+0

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

3

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

В любом случае, это не повредит для изучения обоих, или, по крайней мере, охватить WebForms и больше инвестировать в MVC (так как это в конечном итоге заставит вас изучать другие связанные с ним технологии: nHibernate/Entity, DDD, TDD и скоро). Кроме того, вы можете использовать множество элементов управления в MVC, практически без настройки, хотя мышление очень отличается.

Смежные вопросы