Skip to content

Learning Ruby on Rails (ROR)

What is Rails? Reading the Rails Gem description, you get the answer:

Ruby on Rails is a full-stack web framework optimized for programmer happiness and sustainable productivity. It encourages beautiful code by favoring convention over configuration.

The real answer is that ROR is a very robust tool for creating web applications that have built in ORM (Object-Relational Mapping) and database management.

While very basic applications can be quickly developed in Rails, serous work will be required to understand all of the tools available to create industrial quality applications.

What I personally find desirable about ROR is that it is a full stack development environment. I don’t have to use separate development environments and tools for my back end and front end, and the ORM implementation fulfills the overwhelming majority of my data management needs, so I don’t have to be SQL fluent to get a basic application running.

Advantages of Rails

ROR is a single, consistent framework for creating web applications.

ROR has a mature and stable code base, supported by exceptional people.

Development on ROR and Gems continue. While there will always be someone who will claim that Ruby and Rails are heading to the dustbin, the ROR community tends to disagree.

ROR is sufficiently performant for most web applications. GitHub runs on ROR and has recently documented that they process over 2.8 Billion API requests per day. While it may take some special skill sets to get ROR to execute reliably at this level, it will take special skills to get any framework to execute reliably at close to 3 Billion transactions per day.

ROR is consistent with the application of “convention over configuration”. Naturally, if you want to confuse people and defy convention, ROR will let you dig as deep of a grave as you wish.

Integrated ORM abstracts the Database / SQL work away, so that you can focus on the business logic. However, SQL functionality is available should you need it.

On the whole, ROR developers tend to earn more than developers for most other frameworks.

Disadvantages of Rails

ROR is web only. It is not the magic bullet for developers who want web and mobile development in a single tool.

Ruby is interpreted, so it will naturally be slower than some (most? all?) compiled languages.

Like most frameworks, ROR is complex and takes time to get to understand in depth.

I have heard over and over again that there are lots of ROR developers available to hire. However if you have ever tried to hire a Rails developer, you will find that they aren’t as numerous as Java / JavaScript developers. When you do find a good ROR developer, they will cost more than your average developer. Obviously (?), they will be worth it.