views:

473

answers:

4

I'm about to create a site that will act as public front site of company that sells furniture, but after user log in, he'll see much more options. Internal news, files to download, customized pricings, newsletters, etc. - stuff for wholesale clients.

I want to make it quickly and maintain/extend it easily. I'm asp.net developer and while I could write it in python, php, whatever else (I know these too), I still prefer asp.net. I was thinking about umbraco, since it gives a real productivity boost and that I familiar with it ( and extending it). I've had a short romance with ASP.NET MVC, so I know what it's all about, but I would still spend some time learning it (but what a fun!). Of course, there's also webforms, but that's my last choice here. Last but not least to mention is the SEO.

The question is, have anyone of you had similiar dilemma and what was your final choice?

EDIT: Just wanted to notice, that this site will be maintained by me and by the client. And the goal is to set it up asap, but that doesn't end the development process. This product will live on for years.

+1  A: 

Since you are familiar with Umbraco, as am I, you know that you will be stuck integrating packages. This may not be a bad thing, but it is a consideration. You will not be able to use that website with any other solution. As you know Umbraco consumes the entire website.

I personally would go with MVC, because I love it. Version 2 was just released today, making it even easy to put an application together in no time.

Dustin Laine
+4  A: 

This is the age old question - bespoke vs off the shelf.

With Umbraco you have the potential for an awful lot more site in a lot less time since the requirement is substantially to produce the content rather than the infrastructure. In terms of UI you can produce you should be pretty close either way - Umbraco gives you a lot of control.

With MVC you get to do anything you want - but one way or another you have to build it and, more importantly in terms of this question, you have to build the tools to maintain the content too.

And this is why there is a dilemma - because with Umbraco (or any packaged CMS) the question is 1) can you do what you need within its constraints and 2) where you can't how easy is it to extend the system to deal with those elements that need to be custom.

Finally there's the question of who is maintaining the content - if its to be the site "owner" (which it should be) how are they going to interact with the system? This is the advantage that Umbraco has in that the whole content maintenance thing is handed to you on a plate.

One last point - remember that you have a duty to your client to choose what is best for them and not to choose a platform because you want to play with new toys. Thankfully a lot of the time the two coincide (-: but its worth bearing in mind. (Oh, and before you write off forms completely, remember that ASP.NET Dynamic Data - forms based - will give you an instant database maintenance site which will go some way toward dealing with the maint problem that you'd have with an MVC site).

So... no absolute answer because there is no single "right" - you're almost always working on a case by case basis.

Murph
+2  A: 

Comparing MVC and Umbraco is comparing apples and oranges really. Umbraco is a Content Management System and as such provides plenty of out of the box functionality that it seems your client needs, whereas MVC is a web development framework, and as such is at a lower level than Umbraco. Using MVC to implement the features needed by your client is very much the same as using asp.net web forms to implement the very same features. In fact, Umbraco could decide at one point to use MVC to implement it's features.

So I agree with Murph, the choice should be Content Management System versus implementing CMS features yourself using MVC or any other web development framework (and yes, MVC is brilliant).

Torfi
The next version of Umbraco (5) is actually going to be converted to ASP.NET MVC, so if he waits a while he could do it in both :)
richeym
+1  A: 

Just want to tell you that I'm going down the n2 + mvc road.
Thanks for the answers!

StupidDeveloper