Изучите Web-формы Asp.Net или Asp.Net MVC

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

  • Asp.Net WebForms
  • Asp.Net MVC

учитывая эти три аспекта

  • будущая область действия
  • сложность
  • Особенности

Примечание. выполнил некоторое программирование WinForms с помощью С#

Спасибо

Ответ 1

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

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

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

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

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

Ciao

Джон

Ответ 2

Важное обновление (2019): если вам все еще интересно, использовать ли веб-формы или нет; Ответ категорически нет. Взгляните на новые технологии ASP.NET и придерживайтесь ядра dotnet. Любой новый проект должен использовать ядро dotnet.


Это может быть довольно спорно :)

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

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

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

Ответ 3

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

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

Ответ 4

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

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

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

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

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