Ruby on Rails – The Gems Are Rolling

Ruby on Rails or just RoR for short is an open source web application framework that has its foundations in the Ruby programming language and the Rails web application framework. The RoR framework has is all that is needed to create a fully-functional database-backed web application according to the Model View Controller (MVC). RoR is intended to be used with an Agile development methodology by developers for rapid development.

Ruby on Rails was developed by David Heinemeier Hansson from his project Basecamp at 37signals. The MVC pattern that the RoR is built on splits the view into two parts: one with the simple pre-built data inserted inside the HTML tags, and the other being the model that contains the application logic. The controller handles the queries by manipulating the model and directing the data to the view. This split helps big time in reducing the production time and costs. In RoR the model is handled by an object-relational mapping layer entitled ActiveRecord. This layer allows presenting data from the database and embellishes it into the model logic.

By default RoR runs on its Mongrel server, yet it provides a strong support for other popular servers like Apache, WEBrick, Lighttpd, and Abyss. RoR comes as a collection of various packages namely ActiveRecord that is an object relational mapping system for database access, ActionPack that handles the view and controller by its two layers ActionView and ActionController respectively, ActiveResource that provides the web services, ActiveSupport and ActionMailer. Ruby on Rails is intended to emphasize Convention over Configuration (CoC) and the rapid development principle Don’t Repeat Yourself (DRY). CoC needs the developer to only specify the unconventional aspects of the application explicitly; all other coding is taken up by RoR by default meaning less writing code. DRY means that all the information is stored at one single place and is retrieved from the database based on the class name.

Albeit its much criticism for scalability issues RoR has been adopted by famous applications viz. Twitter, Urban Dictionary, Yellow Pages, and Scribd. RoR’s much celebrated milestone is Apple, Inc. announcing its shipping with Mac OS X v10.5 Leopard.