"Another Software Engineer who is working to feed his family"
Tuesday, August 31, 2010
What's your choice for your next ASP.NET project: WebForms or MVC?
Let's say that you will start a new Asp.Net web site/application tomorrow. What your choice between WebForms and MVC, and why?
I'd choose asp.net MVC for the following reasons:
ASP.NET MVC has borrowed so much from Rails that it feels like a direct port in some ways (and that's a good thing in my mind).
The whole "control" model is a neat idea, but it is more complicated than it appears on the surface. For example, look around on SO for questions about how a UserControl can find its highest level containing control and so forth. The control hierarchy abstraction has leaks in it. Grids are great if they do what you want out of the box, but it's very very hard to customize them to do something they weren't made to do. And the best grid controls on the market (the ones that are highly customizable) are large, bloated, overly complicated beasts. Maybe that shows us that we should drop back down to HTML and let loops in our views do that kind of thing for us.
I believe I can build complete, beautiful apps in ASP.net MVC much faster than in ASP.Net (and I've got some years of ASP.Net under my belt). Look at StackOverflow ... built quickly on ASPMVC with JQuery, and it's fast, scalable and a joy to use IMO.
Oh, and it's completely open source! It is ok to read the source code, blog about it, and even modify then redistribute it!