The re-write started with my intention to learn the new MVC 3 razor syntax – I had previously written a small MVC 2 web application after having worked on web forms for several years.
When MVC 3 came out I didn’t have much of a chance to look at it until the last 2-3 months all be it on and off. The new razor engine is really cool and makes your view pages cleaner than before and the syntax is really easy to pick up. one thing I will say though is that at first it looks like spaghetti code but if you spend a little time learning the syntax and looking at well written pages you will soon see the beauty that is in MVC 3.
Lack of controls – at first I admit when working on an MVC 2 project I was fairly frustrated at the lack of controls available when trying to create web pages, this was holding me back and simple pages were taking more time than they should have, again if your willing to put in some time you will come across projects like MVCContrib and others which have a library of controls and HTML helper to aid you with your projects.
Don’t be put off by anything mentioned above, MVC 3 has a lot of very nice features which once you get the hang of you will see the benefits of using this type of project. I am now such a fan that I would always prefer to use MVC over WebForms, the code is so much cleaner where you can use the idea of separation of concerns to make your code far more maintainable, as well as more importantly testable.
For the WebForm background crowd MVC isn’t just a fad and it really is nice to work with, if you think its more like the bad old days of asp then you havent grasped the concept and the idea behind it at all.