A few months ago, I got a text message from a friend mulling over whether to proceed with working on and learning ASP.NET WebForms, or to go straight to ASP.NET MVC. I wrote my response out in the Notes app, copy/pasted and sent.
After flipping through old notes and clearing them out, I found it and was actually found what I wrote kind of delightful, so I'm posting it here.
ASP.NET WebForms vs ASP.NET MVC
Design Philosophy
WebForms Lets bend the web using our will to make it work like WinForms! We are strong, web standards weak!
MVC Rails is cool. Let's do that, but on .NET!
Architecture
WebForms Component/Controls and Widgets! N-Tier for data access, business logic...
MVC: Models, Views, view models and Controllers. You can N-Tier if you wanna.
Future Prospects
WebForms: Framework is still being maintained. Will stick around in system .NET, but no support in .NET Core.
MVC Framework is evolving; MVC and WebAPI are now one/together and being ported to .NET core.
Job Prospects
WebForms Jobs that work on legacy applications and systems.
MVC: Jobs that work on modern and/or new builds.
Developer Enjoyment Rating'
WebForms 4.5/10
MVC 8/10
Development/Build Cycle
WebForms Basically recompile on every freaking change.
MVC Less recompile's thanks to @razor view engine.
The Bottom Line'
I'd choose MVC over WebForms almost every time, simply for the fact that WebForms isn't going to be supported in .NET Core. And MS has been making a BIG push on making .NET core relevant and very, very performant.