Thoughts On Ruby Rails So Far


The past few weeks I’ve been fiddling around with Ruby on Rails quite a bit, and I think I am in love.

Previously, I was using Django for most web application projects. Django is nice because it is all in Python and there are an endless number of packages you can install to add certain functions.  Pip works great for dependency management. There are all sorts of great features that make Django a very powerful web framework. The one thing that kind of bugged me was how much setup was needed to move to a production server, and how tedious some tasks can become because of how customizable Django can be. You can really open up the hood and poke around to  make the application fit your requirements.

A few times, I’ve spent hours debugging some bizarre error. Searching through the depths of mailing lists and Stack Overflow. It would be for simple things like extending a user model or getting features on the built in backend to work. After being pestered by a friend for a few weeks I decided to give Rails a go.

First, I tried a “Rails Blog in 10 Minutes”  type tutorial and was surprised about how much of the development is done through the command line. This is really appealing to me because there is less time spent in a text editor creating files and populating them with boilerplate code. Rake seems to offer some powerful tools for speeding up the development process. It’s really nifty that I can create a controller and all the associated view files with one command. Compared to Django the database migrations seemed to work a bit more smoothly as well.

An other awesome aspect of Rails was how the template files are organized. You don’t need to traverse 7 directories to reach the correct template. Adding partials is super simple. Adding support for Bootstrap was also incredibly.

There are all sorts of benefits I’ve found using Rails for the past three weeks. Definitely going to keep learning more about it. I’ll post some more things later on this week.

Leave a Reply

Your email address will not be published. Required fields are marked *