Home arrow Ruby-on-Rails arrow Advantages of the Rails Framework

Advantages of the Rails Framework

In this second part of a three-part series introducing the Rails framework, you'll learn some of the advantages of working with Rails, as well as its central tenets. It is excerpted from chapter one of the book Beginning Rails: From Novice to Professional, written by Jeffery Allan Hardy, Cloves Carneiro Jr. and Hampton Catlin (Apress, 2008; ISBN: 1590596862).

Author Info:
By: Apress Publishing
Rating: 5 stars5 stars5 stars5 stars5 stars / 5
December 04, 2009
  1. · Advantages of the Rails Framework
  2. · Less Software
  3. · Don’t Repeat Yourself
  4. · Rails Is Open Source

print this article

Advantages of the Rails Framework
(Page 1 of 4 )

Rails Encourages Agility

Web applications are not traditionally known for agility. They have a reputation of being difficult to work with and a nightmare to maintain. It is perhaps in response to this diagnosis that Rails came on to the scene, helping to usher in a movement toward agile programming methodologies in web development. Rails advocates and assists in the achievement of the following basic principles when developing software:

  1. Individuals and interactions over processes and tools 
  2. Working software over comprehensive documentation 
  3. Customer collaboration over contract negotiation
  4. Responding to change over following a plan

So reads the Agile Manifesto1, the result of a discussion between 17 prominent figures (including Dave Thomas, Andy Hunt, and Martin Fowler) in the field of what was then called “lightweight methodologies” for software development. Today, the Agile Manifesto1 is widely regarded as the canonical definition of agile development.


Rails was designed with agility in mind, and it takes each of the agile principles to heart, almost obsessively. With Rails, you can respond to the needs of customers quickly and easily, and Rails works well during collaborative development. Rails accomplishes this by adhering to its own set of principles, all of which help make agile development possible.

Dave Thomas and Andy Hunt’s seminal work on the craft of programming, The Pragmatic Programmer (Addison-Wesley, 1999) reads almost like a roadmap for Rails. Rails follows the don’t repeat yourself (DRY) principle, the concepts of rapid prototyping, and the you ain’t gonna need it (YAGNI) philosophy. Keeping important data in plain text, using convention over configuration, bridging the gap between customer and programmer, and above all, postponing decisions in anticipation of change are institutionalized in Rails. These are some of the reasons that Rails is such an apt tool for agile development, and it’s no wonder that one of the earliest supporters of Rails was Dave Thomas himself.

In the sections that follow, we’re going to take a tour through some of Rails mantras, and in doing so, demonstrate just how well suited Rails is for agile development. While we want to avoid getting too philosophical, some of these points are essential to grasping what makes Rails so important.

blog comments powered by Disqus

- Ruby-on-Rails Faces Second Security Flaw in ...
- Ruby 2.0 Prepped for February 2013 Release
- Why LinkedIn Switched from Ruby on Rails
- Adding Style with Action Pack
- Handling HTML in Templates with Action Pack
- Filters, Controllers and Helpers in Action P...
- Action Pack and Controller Filters
- Action Pack Categories and Events
- Logging Out, Events and Templates with Actio...
- Action Pack Sessions and Architecture
- More on Action Pack Partial Templates
- Action Pack Partial Templates
- Displaying Error Messages with the Action Pa...
- Action Pack Request Parameters
- Creating an Action Pack Registration Form

Watch our Tech Videos 
Dev Articles Forums 
 RSS  Articles
 RSS  Forums
 RSS  All Feeds
Write For Us 
Weekly Newsletter
Developer Updates  
Free Website Content 
Contact Us 
Site Map 
Privacy Policy 

Developer Shed Affiliates


© 2003-2018 by Developer Shed. All rights reserved. DS Cluster - Follow our Sitemap
Popular Web Development Topics
All Web Development Tutorials