Although not a new technology, MVC is starting to hit the mainstream development circle so hard that it has even squeezed through into the public sector. Hearing whispers from behind closed doors of management meetings, MVC development seems to be on the agenda. But do people understand what it actually does and what the pros and cons are of MVC development.
First of all let me confess: I am not a MVC guru!
So far I have developed two "applications" using MVC.
- Build your First ASP.NET MVC 3 Application
- Simple login application using Microsoft Forms Authentication with an SQL Membership Provider
Both times the actual development was easy, fast and efficient, but both times I tried to deploy the application onto my shared hosting platform I got trust level exceptions flying all over the place! Now this could be an issue with my hosting provider combined with my frugal outlook on hosting; not wanting to pay out for a dedicated hosting solution that I can fully control.
One of the other problems is that MVC frameworks can be incredibly bulky. They require a lot of files for everything to work properly. In the examples that I have worked on I had at least double the amount of files than web pages. If you are not careful, MVC projects can get out of hand pretty quickly. This can also end up affecting performance.
I have also found that migrating existing web sites and web applications into a MVC design is not straight forward. A lot of the times you cannot just copy and paste the desired functionality. You will have to re-create your whole application ... and who has got time to do that?
Also, the MVC framework is not efficient unless you’re willing to roll up your sleeves and build your own project specific infrastructure. At this point you really need to know your stuff! And, you need to be surrounded by people that have the expertise to support your creations, just in case you allow yourself a week away from the PC screen.
As you can tell, I am not a MVC fan at the moment. It seems like Microsoft has rushed onto the MVC bandwagon - just like with the buggy AJAX.NET.