Ruby on Rails - huh?
Ok, so I’ve been doing a bunch of research on Ruby and the Rails framework. Comparing all the things that an enterprise would care about:
- Deployment complexity
- Overall Maintainability
- Ease of development – MVC by default
- Availability of development, deployment, and testing tools and toolkits to make life easy
- Testing (TDD would be nice)
- Performance
- Profiling – finding slowdowns
- Cross Platform issues
- Web server compatibility
- Version Control Integration
- DBMS Support
- Cost for all the items above
- Others
Anyway, the short version seems to be that Ruby on Rails is an ideal solution for reducing time to deployment and maintainability of web applications for small user community apps. It won’t stand up to slashdot traffic. If that’s what you need, java and a good technical architect will be useful to ensure your app scales. Application performance is up to 50x less than the same Java application, but much of that is due to Rails and ActiveRecord generalizations (which is part of the reason why Rails is so quick to deploy apps with!).
Things I love about Ruby on Rails: DB and Models are generated automatically. Migrating DB upgrades and downgrades are built in. MySQL and SQLite3 support is built in. Very short time to usable apps. Built-in Development, Test and Production environment and promotions by default.
Things I hate about Ruby on Rails: ActiveRecord access is slow. No DB indexes are automatically created. Ruby language – oh yah, I need to learn yet another language (add this to 20+ I’ve already worked in). FCGI is the best way to deploy production apps?
Ready to get started? Only have MS-Windows?
A good book on the subject (get the 2nd edition)