views:

625

answers:

5

With all the hype around MVC (and rightly so) I've decided to give it a go myself and write my first .NET MVC web application. With a few options to choose from I was wondering which framework MVC do people recommend.

It seems like the first two are really the top contenders. Also some DI container is a natural complement to MVC - MonoRail would come with one already while ASP.NET MVC could perhaps work with something like Unity.

+6  A: 

I think the best option would be Microsoft ASP.NET MVC for the following reasons:

  • It's official.
  • It will have integration with visual studio 2010.
  • It was developed by people who work for Microsoft.
  • It's free.
  • It has a large fan base of developers that swear by it.
  • It has lots of documentation and information surrounding it.
  • The power of .NET at your fingertips.
  • Not limited to developing in one language.
teh_noob
It is not necessarily a positive thing that it has been developed by Microsoft though. The other points I can agree with.
Halvard
Can you elaborate on how that could be a negative thing?
JoshJordan
Actually it integrated with VS 2008 too doesn't it?
mfloryan
ASP.NET MVC is an addon for VS 2008 and integrates with it very well. As I understand it, MVC will ship "in the box" with VS 2010.
Wedge
Yah, it isn't part of the VS 2010 first beta, I heard it's going to be in the second beta. You have to use a special installer right now for the beta also.
teh_noob
A lot of these points are transferable between frameworks, and the other points like "its official" or "It was developed by people who work for Microsoft" mean less than nothing to me.
Owen
+1  A: 

Microsoft ASP.NET MVC

pro : you can take advantage of .net and your experience with asp.net

Yassir
Your con isn't really true, since ASP.NET MVC can run on Mono.
Brad Wilson
yes but i said microsoft asp.net mvc :)
Yassir
As of Mono 2.4.2.1, Mono comes prepackaged with ASP.Net MVC, Microsoft's ASP.Net MVC. As stated before, your con is false.
chyne
ok it is removed :)
Yassir
+3  A: 

ASP.NET MVC comes with all the common DI frameworks available on code-project, and it is pretty easy to do it yourself, too - I rewrote the StructureMap one to support some specific scenarios (picking the SM configuration out of the route data).

So that deals with the main differentiator you mentioned in the question ;-p

I'd use ASP.NET MVC, personally... but it could come close either way. I simply expect ASP.NET MVC to be more mainstream, what with the "official" card leading to more books/community/etc.

Just look at the tags count here on SO; asp.net-mvc (and similar) 4k+; monorail... hard to find...

Marc Gravell
A: 

Better you read the article :

http://weblogs.asp.net/scottgu/archive/2007/10/14/asp-net-mvc-framework.aspx

This gives a better understanding on MVC its Pro and cons.

anishmarokey
Sorry, I didn't ask what MVC is about. That I understand pretty well (I hope). The question is really about the details of different MVC frameworks in .NET
mfloryan
A: 

It essentially comes down to what you're looking to get out of it

That said it's hard to beat asp.net mvc as it's * actively maintained * consistent/easy to use naming conventions ( if that doesn't make sense, feel free to skip this :) * well documented with source code/tutorials/handon labs et al * scales well out the box with other options available

I had not heard/seen the last 2 choices and while i did browse those links, i'm not going to invest my time learning/reading about them considering asp.net mvc is out there - my 0.02

Kumar