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.
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!
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.
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.
WebForms
Jobs that work on legacy applications and systems.
MVC:
Jobs that work on modern and/or new builds.
WebForms
4.5/10
MVC
8/10
WebForms
Basically recompile on every freaking change.
MVC
Less recompile's thanks to @razor view engine.
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.
Need a professional Umbraco web developer? Get in touch with me here.