It seems that any website which discusses ASP.NET MVC needs to have the obligatory MVC vs. Web Form post. So here it is.
I’m not going to detail the technical specs of each as far too many folks have already hashed and rehashed the scorecards for each technology (links to those at the end). What I will present is my favorite article of the bunch written by Microsoft’s MVC front man, Scott Guthrie.
Web Forms and MVC are two approaches for building ASP.NET apps. They are both good choices. Each can be the “best choice” for a particular solution depending on the requirements of the application and the background of the team members involved. You can build great apps with either. You can build bad apps with either. You are not a good or bad developer depending on what you choose. You can be absolutely great or worthless using both.
Read the full article here: About Technical Debates (and ASP.NET Web Forms and ASP.NET MVC debates in particular)
When I was presented with the opportunity to select a technology for my latest contract, I eagerly jumped at the chance to use MVC in a real world scenario. I had no preconceived notions that MVC was better, or would help me develop faster. I chose MVC because it is a new and emerging Microsoft Technology and it was something I am interested in learning more about. At the time, the documentation was sparse, the user base was limited and everything I had read made it clear that I would need to write more code than I would with Web Forms. I could have taken the safe and proven path, but I decided to take a chance on something new. As a developer, this challenge actually excited me! As with most, doing the task over and over the same way time after time gets the job done, but it’s rarely exciting. Adding the challenge of learning a new technology while staying on schedule and made the work challenging and fun.
Web Forms have been around longer than MVC. More Microsoft developers are familiar with Web Forms than MVC. This gives Web Forms an immediate advantage in the marketplace over MVC. Not having any significant technical advantage, MVC development is just another option to consider when starting a new application. To me, it’s on par with deciding to use MySql, Oracle, or SQL Server. Each has its advantages and disadvantages, and if you’re building something relatively simple, most of these products are suitable. As with anything, knowing your application, your customer and the technological challenges before you start can help you to make a more informed choice.
If you’re a seasoned Web Form person, I highly recommend giving MVC a shot. It’s a different paradigm altogether, and it’ll take a while to change your brain to think the way MVC works. As developers, getting too entrenched and exclusive to any technology can cause our skills to become stale and dated. Knowing what’s out there, learning new things and trying new technologies can keep our minds fresh, our skills sharp and our resume’s appealing.
Try something new and have a great time coding!
Additional Articles for the MVC vs. Web Form discussion:
- “I Spose I’ll Just Say It: You Should Learn MVC” ~ Rob Conery via blog.wekeroad.com
- “ASP.NET MVC v. Web Forms Debate – My View” ~ Mike Brind via mikesdotnetting.com
- “Asp.Net MVC vs Asp.Net Web Forms” ~ Deep Shah via gitshah.com
- “ASP.NET Web Forms versus .NET MVC: Comparing apples with.. really old apples” ~ Mike Gleason Jr. via blog.mikecouturier.com