Ruby on Rails

The buzz around Ruby on Rails (RoR) in industry is quite notable now.

When I first heard of Ruby, I thought it’s just another scripting language but i discovered the real magic of ROR only after going practical with it. ROR follows MVC (Model-View-Controller design paradigm) architecture and it Rocks!!.

It will be very true if I say Ruby is a perfect balance between beautiful code and powerful functionality. Being worked on PHP, at times i try to compare it with ROR. But believe me there is no comparison in two, the things that take hours in PHP take minutes in rails.

Best part of ROR is the way it manages code, Interface and data. The scaffold creation facility further beautifies the process of structure creation. Developing application is more a creative task involving smart use of features available rather going into the darks of coding.

Just keep on following the ruby assumption and everything will come into shape. "ROR is a completely self contained development environment with a typical Object Oriented foundation"

Few things that impressed me a lot include Ferret search, searching was never so easy. Logs, when the error generated can’t help you, check the logs they will definitely provide you with a lifesaving clue.

ROR follows the mantra of Convention over Configuration (CoC) and 'DRY' (Do not repeat yourself).DRY refers to not using the same (or similar) code in multiple places in your application. Instead, such code should be ‘factored’ out to a common, single location (such as a helper method or partial) and reused in various locations.

Rails provide 'out of the box' scaffolding which can quickly construct most of the models and views needed for a basic website. Other helpful development tools come with or are installed with Rails, such as the WEBrick web server, and the Rake build system.

Rails is also noteworthy for its extensive use of the JavaScript libraries Prototype and Script.aculo.us for Ajax and its graphical interface.

Ruby on Rails divides itself into various packages, namely Active Record, Active Resource, Action Pack, Active Support, Action Mailer and Action Web Service. Apart from standard packages, developers can make plugins to extend existing packages.

ActiveRecord exposes all methods of the CRUD (find, new, create, update_attribute, destroy). For more complex queries, SQL can be written directly in your Ruby code (using the find_by_sql).

Some Pretty good projects developed using ROR are:

LinkedIn - Professional-oriented Social Networking Service

yellowpages.com – US telephone directory

Blurb.com – personal book publishing

World Stock Exchange – Internet based Stock Exchange for the virtual world of Second Life

ROR allows you to go for implemention while you are still learning and hence saves a lot of efficient time. I am having good time working on ROR, learning new ways of doing things easily and efficiently.. Hope you also experience the same.