Comparing server side web technologies
I'm going to start a simple SaaS application and am considering which server side web technology to go with(ASP .net MVC or Ruby on rails).
Can someone who experience both (a开发者_如何学编程ctual use)point the pros and cons(performence,costs,easy to develop,easy to maintain) of each technology and recommend his favorite?
I've managed projects using both Ruby on Rails and ASP.Net MVC.
As usual, the "which is your favourite" question can only be answered with "it depends....".
Ruby is a more productive development environment for database-driven apps. There's a lot of off the shelf goodness, and it performs acceptably, most of the time. However, there are situations where the large amount of scaffolding which makes it so productive becomes a burden - we found that some performance problems required a lot of experimentation, because you can't easily get under the hood. We really like the built-in support for things like deployments, unit testing and continuous integration - they save a lot of time, and make it easy to do the right thing.
ASP.Net MVC requires you to do more work yourself, so the productivity was lower; it also requires you to set up your own Continuous Integration, unit testing and deployment processes. The framework is more extensive than Ruby on Rails - there are several viable ways of talking to the database for instance. This is a blessing and a curse - it gives you a larger toolbox, but can also lead to developers arguing over which hammer is best, rather than just bashing the nail in.
Performance on ASP.Net seems better - the applications weren't comparable, so I can't say for sure, but we spent less time hunting down performance issues.
On most projects I've worked on, developer time was by far the bigger cost, so on that basis productivity is the key determinant - but for ASP.Net, you should budget for the Visual Studio license (and buy Resharper while you're at it), so it's definitely the more expensive option.
In my experience, if I had to develop a quick, data-driven application without major scalability or performance concerns, and the application domain was relatively simple, I'd use RoR. For bigger, more demanding projects, I'd probably go for ASP.Net MVC.
精彩评论