Wednesday, January 27, 2010

The Importance of Ruby on Rails Development

The following guest post was contributed by Wendy Graham who frequently writes about online college and college related topics for Online College Guru.

Ruby on Rails (RoR) is the Ruby programming language’s web application framework, and it includes certain tools that make common development steps less difficult and speed up the development process as well. For example, its scaffolding automatically constructs certain views and models that a basic website will need. To complete the task, Rake, a building system, and a simple web server are included.

RoR is divided into the following packages, which developers can use for extending existing pages with plug-ins:
● ActiveRecord, a mapping system used to access data bases,
● ActiveResource, which is used to provide web services,
● Action Pack,
● ActionMailer, and
● ActiveSupport.

The methodology behind RoR

RoR places emphasis on the developmental principle of Don’t Repeat Yourself (DRY) and Convention over Configuration (CoC). CoC signifies that developers only need to indicate the “unconventional” features of an application. For example, if a class called Employees is included in the model, the matching table found in the data base is automatically called “employees.” If there is a deviation from this convention, such as labeling the table “staff members,” the developer will have to produce coding related to those names. As a rule, CoC leads to less repetition and coding, while saving the developer time.

DRY signifies that information can be found in one, unambiguous location. For example when developers use RoR’s ActiveRecord, module, they do not have to indicate the data base column names in the class definition category because they are able to retrieve that information by simply using the class name, which also saves time.

Installing RoR

Often, RoR is installed using a package manager called RubyGems, and its installation is also supported by a number of Linux distributions through their own package management system. In general, it is integrated with a web server like Apache and a data base server like MySQL, and in lieu of manual installation, a TurnKey Rails appliance can be used for deploying a server that is ready for use. In addition, Rails hosting providers, including Heroku and Engine Yard, will support the deployment of RoR as a “cloud” service.