ASP.NET Web Forms were the right tools at the right time--but times have changed
Back in 2001, most developers working on the Microsoft stack had been told they needed to get to the web and needed to get there fast. Some were already there, slogging their way through the challenges of Active Server Pages (ASP). But .NET was imminent, and with it the first generation of ASP.NET.
The wisdom of Scott Guthrie (and a host of other really talented, smart folks) was that the majority of ASP.NET developers were coming from Windows Forms, and so anything they could do to create the Windows Forms experience on the web would help those developers build websites faster. Building websites fast has always been the goal of ASP.NET—building fast websites is also something you can do with ASP.NET, but that's a separate discussion. The two are not mutually exclusive, but they're not the same either.
Today's ASP.NET is a far cry from the product released in 2002. Web servers have gotten far more sophisticated, as have web browsers. ASP.NET came along at the beginning of HTML 4 and now, 10 years later, HTML 5 is finally arriving. Web developers, too, have evolved. They've learned that it's not enough to just get on the web; you have to build a website that is maintainable, scalable, and ready to respond to the new demands of an even more Internet-centric world.
Web Forms can meet those demands, but not as elegantly and efficiently as the next generation of web development tools, such as MVC 3, jQuery, and Razor. Today it is challenging to justify starting a new Web Forms–based ASP.NET project with all these new choices available. Many web developers I talk to are maintaining Web Forms sites while building new sites using the newer tools. It's rare to find a true migration project, since for the most part the Web Forms work just fine, and the ROI of a rewrite would not be substantial enough to justify the effort and risk.
The ASP.NET team has been on the leading edge of how Microsoft builds products, engaging deeply with the customer community as they are building new versions and releasing products out of band as well as in the box. Building websites with Microsoft technology has never been more exciting and diverse as it is today.
There's no reason to look back on the past and despair. The approaches of the past made perfect sense at the time, and ultimately they are responsible for where we are today—in the midst of a web development renaissance with better tools, better techniques, and better results. Times have changed, and for the better.
Richard Campbell is technical director for DevProConnections.