I’ve been using ASP.NET MVC (1) very since the third preview was released and I’ve really enjoyed the the experience.
IMHO, WebForms was never really fitted to the web platform, having a to complicated life cycle, and abusing the POST method in a way it was really not meant to do.
I do think WebForms was a great way to get WinForm developers up and doing web development quickly,
on the other hand, it grew a generation of Drag and Drop developers that had no idea what a POST really is (I know, I used to be one :D).
One of the main problem in WebForms is that it’s simply to much magic going on. The server controls writes plenty of content to the page, and typically, the developer using the control has no idea, and/or no control of what is rendered to the page.
First, they involved the public a lot with several preview releases,
second they embraced both concepts from other popular frameworks such as Ruby, and even bundled jQuery!.
This was somewhat of a mindblower for me, since it kind of ruined the typical Micro$oft big corporate image I had.
Add to that the fact the the ASP.NET MVC framework was implemented in such an amazing way, that besides being enjoyable to develop in, felt much more correct and well suited for the web.
The framework allowed me to program the server side code in C#, which is the language I’m most comfortable with, and supported a clean separation of markup, client side code and server side code.
Furthermore, it was finally unit-testable!
The ASP.NET MVC 2 looks really interesting, here’s some recommended reads:
The fact that it’s possible to use without causing any problems with the existing MVC framework is fantastic..
Kudos to the ASP.NET MVC team for their great efforts!
This was one of the reasons besides I got into jQuery more, although the credit goes to Tim Perrett for introducing jQuery to me amongst so much more ubercool stuff :D)