Hi, Please note: this is NOT an MVC vs web forms general debate question. I'm looking to find what is the best choice for my situation and could use some guidence. I understand that MVC is not a replacement for web forms and they both have their advantages/disadvantages.
I'm starting to design and will soon start development for a few different websites, one is larger in complexity and is a basic social networking site... the other is a slimmed down simpler version which doesn't require too much functionality. Will be doing the smaller one first.
In both cases I will need to have things like: 'prove i'm human' control (e.g. CAPTCHA), MP3 Player w/ library, 'share this with facebook/muyspace/etc...' control, ability to upload flash/mp3/images/etc.. and in the bigger site I will need integration with google maps API among other things like forum software.
I am a .NET developer with 7 years on/off using ASP.NET web forms.. although keyword on/off, as I've done mostly server development over the last 5 years with lightweight client apps. I'd say I'm 'OK' with ASP.NET web forms.
I've never done anything with ASP.NET MVC before, but I did go over several tutorials @ asp.net, and I like what I see. I really like how they built testability right into the framework, this will make longterm maintaince much easier because I'll be able to unit test the front end UI logic. There's also other advantages, especially for public sites like no more Page having to have an URL mapped to it and easily create custom url names. It does have a bit of a steep learning curve that I'm trying to climb; so far I think it's a better development platform in general..
But bottom line: looking at my requirements, and experience, which is the better choice? I did find CAPTCHA for MVC, and the 'share with everything' control which just uses vanilla HTML. I only found an MP3 player as a server control for web forms and didn't find anything for MVC...
Considering I'm going to use a lot of 3rd party tools, would it be a mistake for me to go the MVC route? As much as I want to learn it because of how cool I think it is (lol), I'm going to need to use a bunch of 3rd party controls, and don't have time to develop them myself; I need to use as many already inveted wheels as I can. What is your opinion on this?
Thanks for any advice, & happy turkey day my fellow geeks =P