Without being trite, I'd like to say that I can't now see any reason to use another framework. "Best tool for the job" is a exactly the reason why. (As long as the job is "web application development", I guess.) Compare Rails feature for feature with any other framework. Rails 2.3 now provides all the mechanisms (and did with a bit of hacking previously) that you could ever need for web development. And it's in Ruby a great language by itself. Let's just go over the new and old "greatness" Ruby 1.9 (Low, low, low memory usage and very fast) Metal (Low, low, low latency) Active etc (Support and Record... too many to list) Passenger/Apache deploy Capistrano Git integration/support Plugins/Gems
... IMHO Scaling is soooo stupid a consideration anyway... I think for any good coder it is really is a joke. Any web app can handle several million hits per day on the right hardware - php, java, coldfusion, anything. Who cares? Processor time is cheap. Would you run a million(s) of hits a day app on a el-cheapo 256Mb linux VPS? No, you would start out small and build as needed. Although you almost can now with Rails. I benchmarked a non-trivial Rails shopping cart application on 1Gb Linux VPS at able to handle without serious slowdown approx 5-6 million requests per day. (~60 requests per second) If your app is getting anywhere close to those numbers you would have time to make some architecture changes to increase support (and perhaps pay for a real server or two). And I hadn't even done any caching. Every request was handled dynamically. Most apps I know of don't get more than 1-2 requests a minute (2-4000 requests per day). And as for twitter I never understood what exactly was running on Rails... The front-end? Should be a pretty easy Rails app and might need some architecture fixes but not huge. The back-end message passing/handling system? Running on Rails? You've got to be kidding me. Why? Write it in C, or even Ruby, (or Scala - boo!) but it doesn't involve Rails as far as I can see. -Adam On 08/04/2009, at 5:49 PM, David Lee wrote: > I recently began a reasonably small project where I expected > performance to be fairly important, and wanted a very small, simple > codebase. > > I started by setting up a sinatra app. Then i began including only > the parts of activesupport I felt i couldn't do without - a few > things from core_ext. > > Fast forward a few days, and I'd learnt a great deal about the > internals of activesupport by trying to include only the parts I > missed without loading the whole library - the dependencies don't > really like being . Ditto, a lot of stuff about rake and Rails' rake > tasks. I'd gotten a bastardised form of migrations going. The list > goes on ... > > I realized I was up against a variation of Greenspun's 10th rule > (http://en.wikipedia.org/wiki/Greenspun%27s_Tenth_Rule > ) - I was spending more time on the stuff I normally take for > granted when writing Rails apps than I was on my problem domain. > > About that time rails 2.3 came out, and i thought to myself, if i > really need to worry about performance there's now Metal and various > freedoms afforded by Rack. I turned it into a Rails app and didn't > look back. > > " In one instance I witnessed a Rails application for getting > reports on a database." > > If I had to write a simple application to get reports out of a > database, and it was going to take more than a paragraph or two of > code, I'd use Rails without even mild hesitation. > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby or Rails Oceania" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/rails-oceania?hl=en -~----------~----~----~----~------~----~------~--~---
