The decision on which technology to use can be a tricky one. In most cases we’ve left this decision up to our customers. If they want something done quickly and on a tight budget we would typically use WebForms. It’s been around a long time and we have a large staff of developers well versed in the technology. In other cases a customer may specifically request their project be developed using MVC. I thought it might be interesting to do a little more research and see what the rest of the internet’s thoughts are on these two technologies. As you can imagine it only take a few minutes of searching to find thousands of reasons why one is better or worse than the other.
MVC does appear to have more advantages over WebForms. One of the most common ones mentioned was Separation of Concerns, keeping view, data, and action code separate. Other advantages included the ability to have multiple forms per page, better for automated testing platforms, better for SEO, action driven, more scalable and better control over HTML. The most common downside seems to be it’s a little bit harder to pick up if you haven’t had experience with MVC in other technologies. Some developers consider it a step back to ASP where code and display elements are combined in one file.
There’s no real formula to determine which is best to use. You have to weigh timeline, budget, development staff experience, project complexity, user base, and customer requirements when deciding which way to go. I feel that MVC will continue to grow in use going forward and it’s worth learning. As with any technology there are tons of examples of good and bad code. It’s always best to keep up on the latest best practices and your company coding standards to make sure code is easily maintainable going forward.