views:

1418

answers:

2

I'm developing an idea for a web application that would be well suited to one of the popular MVC frameworks out there right now, but torn between which to go with. I was originally going to go with Pylons, but upon reading about the BizSpark program, I'm reconsidering ASP.NET MVC.

The hitch is that if I'm successful I'll need to pony up for all the software I'll be using (SQL Server and Windows Server).

So my question is, how does the performance compare between ASP.NET MVC and the various OSS MVC frameworks, specifically Pylons (or web.py or Django). And, if ASP.NET MVC is that much better, is it still worth the cost of the backend?

Hosting plans seem similar enough cost-wise that I don't think it's too big of an issue. I know that StackOverflow runs ASP.NET MVC, and handles all the traffic it gets very well on just two servers. Are there any other "large" sites that run ASP.NET MVC too?

Personal background: I'm most familiar with .NET (though I haven't really used its MVC framework), but I've built a couple of smaller web apps based on Python MVC Frameworks recently.

I looked at Rails, but I'm not as familiar with Ruby, and some of it seems surprisingly complicated. PHP is right out for me.

A: 

A colleague of mine has been working with Django for quite a while now, and did an exploration of ASP.NET MVC recently. His conclusion was that ASP.NET MVC wasn't quite ready for prime time as compared with Django as of about a month ago (preview 4 release).

Harper Shelby
+4  A: 

I work in a shop that uses all three (.Net MVC, Rails, PHP).

We have found that as far as maintainability as quickest turn around time to complete our projects are concerned, Ruby on Rails (or MERB) offers the best solutions. I'm a .Net guy too, but the other guys here seem to think that it's much easier writing custom functionality in Ruby then it is in PHP. The Ruby programming language they say provides a fuller library of functionality, is easier to read and maintain, and has superior symantic application to the language over PHP.

But as far as your question is concerned, you have to keep in mind that Asp MVC is written on top of a "thinned out" version of Asp.Net (MVC rids itself of the overhead processing that is involved with managing post-backs and view state amongst other things). So really when you are considering performance I'm pretty sure you can safely assume that you will get similar performance, if not better, then what you get with Asp.Net. Anyway, there's a pretty good thread on this topic here at http://stackoverflow.com/questions/43743/aspnet-mvc-performance

As far as who (which large websites) are using .Net MVC is concerned, I'm not sure it's really the right time really to ask that question because the technology is still in Beta. You probably won't see .Net MVC widely used for a while because of that, and also because of the investment that a large company has to make to overhaul their front-end technology. With the economy going how it's been going lately, I would have to imagine it's going to be a pretty hard sell for Microsoft to convince any of it's larger Asp.Net clients to move from Asp.Net to MVC, not to mentioned that since they are both developed under the same department at Microsoft, there may not be much benefit for them to convince their clients to move one way or another unless it's in the clients best interest.

This all being said, I've been a programmer for over 10 years now and the .Net MVC is one of my favorite tool sets that Microsoft has released over that time. If you're a .Net guy and your project calls for an MVC architecture, I would suggest you go ahead and use it. If anything else you will have an absolute blast programming your websites. ;-)

matt_dev