For a new project I’ve started, I decided to try out ASP.NET MVC. I consider my ASP.NET skills as good, so I assumed that would give me a head start with MVC. Not sure if it did though, thinking ‘old’ ASP.NET based seems to be more of a challenge as opposed to really helping.
A couple of my findings:
– Everything plays really nice as long as you play by the book. The minute you want something other then what the examples out there show, it’s a bit of a burden to get there.
– The availability of 3rd party components is more limited. And the components out there also seem to be limited when you compare them to the ASP.NET (AJAX) range. Take a look at what Telerik offers for instance.
– In the comparison with standard ASP.NET, MVC requires more code. That should deliver you a much cleaner project with more ability to do automated testing. It also provides you the possibility to make a big mess. The examples for ASP.NET are mostly in one line when covering things like databinding. The MVC examples aren’t. Use view models, don’t use view models. Incorporate logic and EF models into the Models dir, use seperate projects. I found all sorts of blogposts about roughly the same topics which all show different things. Which should I follow? Aaaargh!
All of this reminds me about my first steps in ASP.NET programming. Not exactly knowing which approach to take or how to solve non standard problems. But altough it’s tempting to switch back to the known and safe approach, I’m sticking with MVC for now, just because I know lot’s of nice stuff is being done in MVC for a while now. And yes; I know there’s a V3, but my hosting company doesn’t support that yet. Bummer.
So please fill up the comments:
– What resources are should-reads on MVC?
– What’s your approach when building an MVC project? How do you setup your projects, where do you leave your logic, etc?
– What’s your opinion about using ASP.NET / MVC or perhaps Dynamic Data? Is it a good thing their all there, or should we stick to one or two?
Once my projects’ launched, I’ll post an update on my MVC findings.