top | item 1373652

Ask HN: Has anyone chosen ASP.NET MVC 2 over Rails for their web app

16 points| terrellm | 16 years ago | reply

ASP.NET MVC 2 just came out a few months back and Rails 3 is coming soon so I thought it would be a good time to revisit this topic.

I enjoy working in Rails, but I won't be doing the majority of the coding on our next web app. Therefore, the enjoyment factor doesn't matter as much as the business aspect and particularly how long the code will last before having to go through a major revision.

Has anyone chosen to develop a web app in ASP.NET MVC 2 instead of Rails? If so, do you feel it was the right decision after having gone through the process?

13 comments

order
[+] TomOfTTB|16 years ago|reply
I haven't developed a production app with MVC 2 yet but I've tested it for use in my organization and I've played around with RoR. Given that experience I'd put forth the following points...

Pros:

1. Despite what RoR fans claim I think you can get things done faster in ASP.NET MVC 2 (if you use Visual Studio). All the usability enhancements combined with technology like WCF simply help you get things done faster (though there's a down side to this advantage in the cons)

2. On the above note I still think C# is a vastly superior language especially now that it's essentially "borrowed" the best parts of Python

Cons:

1. The main reason to go with a MVC framework is ease of testing and the RoR community is far more robust and hence offers far more testing options

2. (Related to Pros #1) Using Microsoft technology like WCF creates performance woes. I would question using it on a really high performance site

3. You really need to buy Microsoft servers. I haven't even tested MVC 2 on Mono but MVC 1 was spotty and not officially supported

4. Support is minimal on the Internet. Again this boils down to there being far, far more Ruby developers (Let's face it ASP.NET MVC is a subset of the already smaller ASP.NET developer community)

I don't know if that helps but those are my initial thoughts.

[+] ndc|16 years ago|reply
ASP.NET MVC skips the whole ORM part and let programmers deal with the issue however they like. I find this refreshing compared to Rails 2 which enforces ActiveRecord. I hear Rails 3 decouples ActiveRecord but I haven't seen it in action.

This is important if you have a plan to build front end to legacy database.

[+] barrydahlberg|16 years ago|reply
I have worked in MVC 2 and while I feel it was the right decision based my skillset and the existing code base in the company, I envy the relative maturity and stability of the Rails framework. The fact that there is a "Rails Way" is good.

Personally it's usually other factors that make the decision for me.

[+] cmelbye|16 years ago|reply
Question related to this topic: If one were to use ASP.NET MVC 2, would one have to use Microsoft's development tools and Microsoft's servers, or are there viable open source alternatives?
[+] crnbrdeater|16 years ago|reply
You don't have to use their dev tools but I am not sure why you would not want to. You get tons out of the box with Visual Studio Express...and its free. You are also free to use the command line to compile your apps, but again I am not sure why you would want to.
[+] billpaetzke|16 years ago|reply
It would be an uphill battle to veer from the Microsoft stack and tools, if you're doing an ASP.NET site.
[+] fleitz|16 years ago|reply
I considered it, and although I love F# I still went with rails because of a lack of sass. I even considered porting sass to F# like nhaml.