Microsoft MVC4 vs. Webforms

I recently tried Microsoft MVC on a client project and want to share my developer perspective. First, for those that don’t know, MVC stands for “Model View Controller.” It is a software development pattern…think of it as a way to layer the components of your system in an organized fashion. This pattern has been around for a long time, but it is somewhat new to the Microsoft development universe.

Overall, MVC is likely the way things will continue in development moving forward. I can foresee a day when all of our company’s Microsoft ASP.net web development is done using MVC. As applications get larger with more logic, it is quicker and easier to troubleshoot and change the system, and it’s generally easier to develop.

But I’m not ready to jump in yet. The project in which we started using MVC, we ended up backing out of it and went with the old Webforms instead. Here are some of the drawbacks that we encountered:

  • There is a learning curve. Posting back to the server is gone. Everything is done client side with javascript.
  • The grid and drop down component makers, like Infragistics and Telerik, are cutting their teeth on this new way of programming in the Microsoft universe. Their controls are not as robust as the controls they have for Webforms. Simple things like multi-column drop downs and certain drop downs dependent on earlier drop down choices were a drawback. It started to get complicated and we found some reliable things in Webforms can’t be done yet in MVC.
  • For a small app for a small business, Webforms is still provides much faster development.
It’s coming. It isn’t too far away. But for now, I’m sticking with Webforms. Things we take for granted as easy and doable in Webforms, are difficult, or not easy to implement with Microsoft MVC and 3rd party MVC components.