pronounced ma-cabre’ (but informative not scary)

Open Source Framework Study

Posted in TechieTalk by michabre on March 27, 2008

Ruby on Rails

“Ruby on Rails is a breakthrough in lowering the barriers of entry to programming. Powerful web applications that formerly might have
taken weeks or months to develop can be produced in a matter of days.”
- Tim O’Reilly, founder of O’reilly Media

Ruby on Rails was pioneered by David Heinemeier Hansson by “extracting common functionality such as database abstraction and templating”. It was built with the intention of making it very easy to build web applications that communicate with databases and following these programming practices:

• convention over configuration
• don’t repeat yourself
• agile development
• MVC

Convention over Configuration

This refers to the fact that Ruby on Rails framework was designed to be easily set up and developers could start building applications right away. The intention was to make it simple to set up and not has to go through rigorous configuration files.

There are a number of installers designed to set up the Ruby framework:
• Locomotive for Mac Users
• Instant Rails for PC Users
• Ruby Gems for Command Line Coders

The reason for this development was simple: you’re not “forced to repeat
the entire configuration process whenever you start a new project.”

Don’t Repeat Yourself or DRY

DRY is a programming principle in which you don’t rewrite or copy and paste code throughout the development. According to Sitepoint’s, “Build Your Own Ruby On Rails
Web Applications”, DRY is defined as,

“…you develop your application in such a way that this functionality
is stored once, in a central location, and is referenced from each portion of the
application that needs to use it.”

Agile Development

Rails has a built in framework that is designed for quick application development. It is intended to get developer right into the essence of the project as opposed to spending lengths of time flowcharting and configuring a static plan for the goals and needs of an application using predictive methods.

Rails recommends the top-down approach. Starting with a simple design, which could be a sketch on a napkin, and then evolving into functionality and back end development. The Rails framework was designed to take care of most of the back end work, so developers can invest more time into building.

Excerpt from “Agile Web Development with Rails 2nd Edition”,

Let’s look at the values expressed in the Agile Manifesto as a set of four preferences.
Agile development favors the following.
• Individuals and interactions over processes and tools
• Working software over comprehensive documentation
• Customer collaboration over contract negotiation
• Responding to change over following a plan

Rails is all about individuals and interactions.

MVC

“The Model-view-controller (MVC) is a software architecture (also referred to as a design pattern) that separates an application’s data model (model), user interface (view), and control logic (controller) into three distinct components.”

Conclusion

Ruby on Rails is becoming very popular for web development. It has already won many several awards, including developer.com’s Product of the Year 2007 Award. Because of its speed, simplicity, strong programming principles, and readiness for developers to jump in and start making dynamic database-driven application, Ruby on Rails is pioneering the open source web development community.

Sources

Agile Web Development With Rails, 2nd Edition 2006
By Dave Thomas and David Heinemeier Hansson

Build Your Own Ruby On Rails Web Applications
by Patrick Lenz

http://www.rubyonrails.org

http://www.developer.com/db/article.php/3653956

One Response

Subscribe to comments with RSS.

  1. Michael Slater said, on March 28, 2008 at 2:32 am

    If you want to learn more about Ruby on Rails, check out the free online course at http://www.LearningRails.com.


Leave a Reply