Engine Yard Platform
Ruby on Rails
Why Use Ruby on Rails?
Ruby on Rails is an open-source framework that uses conventions to accelerate web application development. Rails eliminates the need to make dozens of configuration decisions at the start of a project, speeding-up development time by as much as 5x. Using the Ruby programming language, it's easy to customize and configure Rails applications when the time comes to make those decisions. Rails provides the power and flexibility of programming with an object-oriented language with the speed of an MVC framework.
Rails vs. Traditional Web Development
Prior to Rails, developers had to make many decisions before they could begin writing code. These decisions ranged from the small (e.g., how to structure the directories in the application) to the large (which database to use and how to talk to it). None of these decisions help to build the application any faster, and by the time developers are done making them, the initial momentum of the project has dropped off.
With Ruby on Rails, you can focus on building business value from day one. Rails provides sensible and powerful solutions for nearly every general problem that developers encounter. For example:
- Structure
- When you start developing a Rails application, you don't need to decide how to structure it. Your application's structure will be identical to that of every other Rails application—new developers who join your project don't need to be educated on how the application is organized.
- Database
- Making database-driven applications in Rails is simple, using the powerful ActiveRecord Object Relational Mapper. Using ActiveRecord, you can evolve your schema with migrations, and start your development with a local SQLite database. When you move to production, or if you need more advanced features later, you can seamlessly upgrade to MySQL or PostgreSQL without changing any code. But you don't need to decide what to use up front.
- Architecture
- With Rails, you architect your application using the scalable and consistent REST pattern that leverages the inherently scalable infrastructure and power of the web. You don't need to invent a new architecture paradigm — instead, expose every resource via a particular URL. Furthermore, Rails conventions help you organize your code the right way. When it comes time to handle thousands or millions of users, you'll be glad you did.
- Performance
- When it comes to optimizing your code for performance, you have a conventional way of handling both server-side and client-side caching. Rails uses virtually all the page load performance optimizations that can be implemented on the server-side. These optimizations are applied to your application automatically (wherever possible), or you can apply them with a simple helper.
- Security
- Standard Rails conventions automatically protect you from security attacks. For instance, Rails protects you from Cross Site Request Forgery (CSRF) by automatically implementing secret token authentication for http request/response.
Evans Data reports that Ruby usage has grown 40% among North American developers from 2008 to 2009.
Learn More About Ruby
Websites
Books
- The Ruby Programming Language by David Flanagan, Yukihiro Matsumoto
- Programming Ruby 1.9: The Pragmatic Programmers' Guide by Dave Thomas, Chad Fowler, Andy Hunt
- Programming Ruby: The Pragmatic Programmers' Guide, 2nd Edition by Dave Thomas, Chad Fowler, Andy Hunt
- The Ruby Way, 2nd Edition by Hal Fulton
- Ruby for Rails by David Black
Tutorials, Screencasts & Podcasts
Training
Download
Learn More about Rails
Websites
Books
- Agile Web Development with Rails, 3rd Edition by Sam Ruby, Dave Thomas, David Heinemeier Hansson
- Rails Recipes by Chad Fowler
- Advanced Rails Recipes by Mike Clark
- Rails for Java Developers by Stuart Halloway, Justin Gehtland
- Rails for PHP Developers by Derek DeVries, Mike Naberezny
- Rails for .Net Developers by Jeff Cohen, Brian Eng