Farewell, ASP.NET Web Forms, We Hardly Knew Ye
ASP.NET Web Forms, the venerable web framework that
Microsoft shipped with the .NET framework almost 15 years
ago and we all hate love, is going away.
Yes, it’s official: ASP.NET 5 will not include Web Forms,
only MVC 6. ASP.NET 4.6, however, will still include Web
Forms, including some updates, but the future appears to be
all MVC (and
OWIN, for
that matter). Having spend a lot of my professional life
working with Web Forms, I feel kind of sad. Yes, I do
acknowledge event-hell, viewstate-hell, etc, but I find it
easy to get around this once you know a thing or two. But
what I really like about Web Forms is the reuse capacity
that server-side controls offer: just add a reference to an
assembly containing controls, register them in
Web.config or in the page, and you’re done.
A control encapsulates both client and server-side logic, so
it is the perfect reusability mechanism for the web, in my
opinion, and I wrote tens of posts on it. MVC now offers
somewhat similar mechanisms, in the form of view components
and tag helpers, but before that, there was really no reuse
mechanism – partial views cannot be referenced from an
assembly and helper methods cannot be extended. Don’t get me
wrong: I like MVC, but I think that Web Forms was
complementary. Taking in consideration the extensibility
mechanisms offered by MVC, I can imagine that someone will
even implement Web Forms on top of it!
Apart from Web Forms, ASP.NET 5 seems promising! I published recently an article on it for the portuguese magazine Programar, which you can find here. I may translate it to english and add a thing or two in the next couple of days, so stay tuned!