Today We Are Ruby On Rails Developers!

My friends, it is time!

No longer shall we labor under the iron heel of spaghetti code, protected methods, and proprietary software. We must make a perilous journey to that golden land where all variables are objects and REST rules supreme! Today, we shall become: Ruby on Rails Developers!

This post is the start of a weekly series tracking my progress learning Ruby on Rails. Sure, there are probably better, more dedicated Rails blogs out there, (Alan Bailward’s Thinking in Rails is a good example) but because there are so many programmers out there who haven’t even tried it, one more travelogue into the world of Rails can’t hurt.

So what is Ruby on Rails? Most large websites like facebook, twitter, and even this blog use programming to dynamically generate pages. This programming can get very complicated as these sites get larger. Ruby on Rails is a framework that incorporates some base assumptions about how data-driven websites work. This makes it easier to program these websites and make changes to the overall structure. This screencast shows how you can use rails to create a simple database driven blog in 15 minutes.

This functionality can be expanded to cover everything we use on the web. Blogging, Todo lists, shoppings carts, Rails can even be used to serve up more advanced content like games and video. So, how does one become a Rails developer?

1. Find a local Ruby on Rails club

There are quite a few Ruby clubs operating around the world. Learning on-line is one thing, but you can get so much more out face-to-face coding sessions. It’s also a lot easier to stay motivated when you are coding alongside other people. I go to the Fraser Valley Ruby Brigade, which meets on Wednesday nights from 7:00-10:00pm at the Gourmet Gallery in Abbotsford, BC.

2. Install Ruby on Rails

The latest Ruby on Rails install instructions can be found at RubyonRails.org. You might run into some insurmountable problems using Rails on a Windows. Most Rails developers won’t bother troubleshooting the platform. I recommend following along with Curtis McHale‘s 2-part tutorial, The Best Windows Ruby on Rails Setup. He installs Rails by setting up ubuntu on Windows using Virtualbox. I still look back on it whenever I want to set up Linux on my windows laptop. Curtis is also a member of the Fraser Valley Ruby Brigade.

3. Get a github.com account

Github is a social coding and version control utility. It’s a good idea to post your Rails project here so you can manage your code and demonstrate what you’ve learned. Don’t worry if you are just creating copies of tutorial apps you find. Everyone passes through those first learning stages. If you want to program Rails apps for money, employers will care more about what’s in your github account rather than your years spent at the Very Big Software Company. You can find my Github repository here.

4. Get a Heroku Account

Once you’ve programmed your Rails app, where can you host it so that everyone can use it? Heroku hosts basic rails apps for free and sells additional capacity where necessary. You can use heroku as a test server before deploying to your own paid hosting (if you have any). As an example, here is a twitter clone that I wrote using a tutorial.

5. Go to Railstutorial.org

There are many Rails tutorial sites out there, but Michael Hartl’s Railstutorial.org is easily the best of the bunch. It not only teaches you the basics of Rails programming, it has instructions on how to properly use Github and Heroku so you can get real development workflow going.

Next week, I’ll be talking about my rails project, Dramathea, and the path to webapp stardom. See you next time!

2 thoughts on “Today We Are Ruby On Rails Developers!

  1. Pingback: Thinking In Rails » Blog Archive » Links of the Week [05/01/2010]

  2. curtismchale

    Thanks for the mention. I actually should update the tutorial with info on installing RVM instead of installing Ruby and Gems directly into the system.

Leave a Reply

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