##Ruby on Rails

It has been a few months I haven’t written a post. I decided to begin to write about the Ruby on Rails framework. This is mainly for me to practice putting my thoughts in a concise manner. Also to prove my understanding on the subjects in writing for quick reference.

####What is Ruby on Rails?

Ruby on rails is an open-source framework for making dynamic web applications. It was created in 2004-2005 by David Heinemeier Hansson, DHH for short.

####Who is using Rails nowadays?

Big companies like Hulu, Github, Livingsocial, Groupon and many more have adopted Rails.

####The Why?

Why would anyone be interested in building web apps using Ruby on Rails? Here are some of the things that stand out to me.

  • Rails uses what we call Convention Over Configuration. Which means it encouranges developers to have files and classes names in a certain way. It also has its own place for these files, which gives a certain structure to code base.

  • This also means, less code to write
    • Rails generates some code automatically for us.
    • Oftentimes, there is no neeed to write code at all. Which means we can get the app deployed quickly.
  • Know what to expect in a Rails project
    • Since Rails follows conventions, it’s easy for a developer to come in in any project, know what’s going on and normally know where things are.
  • Database Abstraction Layer
    • There’s no need to write low-level DB details
    • Almost no need for SQL
  • Don’t Repeat Yourself (DRY) principle
    • Because writing Rails is just plain Ruby, it’s easy to abstract features, making them re-usable.
  • Open-source
    • Built by people for people.
    • In case you need to inspect the source code for Rails, just follow this link and inspect away.
  • Modular
    • Again, Rails makes it easy to separate concerns in re-usable components.
  • Easily Scalable
    • Needless to say.
  • Out of the box Javascript
    • Rails gives us CoffeeScript and Jquery out of the box.
  • Easy to integrate with other technologies.
    • It’s common to use Rails as an Application Program Interface (API) and have a javascript framework for the front end.

####In Summary

Aside from the easy to undertand syntax Ruby gives us, we have the ability to build dynamic webapps with Ruby on Rails. Of course this is not everything but an overview of what and why I think Rails stands out.