28 Apr 2011

Learning Ruby on Rails, CSS & jQuery - Building a webapp for designers (Part 2)

This is a series of posts, where I detail how I built CompVersions and what choices I made along the way.

In the first part of this series I spoke about the legal side. Now I get into learning the development-side.

This has been an interesting journey, I set out to build a webapp and took the plunge to learn everything myself (from a coding perspective). This is what my development environment is:
For learning Rails I tried MANY things:
  • http://ruby.railstutorial.org/ (this was a nice first primer, but given that I was learning Rails from scratch the issue I had with this tutorial is that it forces you to learn Test Driven Development - which for me was too much to learn everything at once. So I skipped over all the Test related stuff, and picked up what I could from everything else).
  • http://railsforzombies.org/  - this is pretty awesome, because it doesn't involve Tests and takes you into the core of Rails 3 from day 1. I highly recommend this for anyone just starting Rails development.
  • I tried a few ebooks - and they are nice for rounding out your knowledge (once you have a solid understanding of the Rails way) and giving you an alternative perspective, but they never quite got me to fully understanding the way things worked.
  • Asking Questions - mainly on Stack Overflow and #RubyOnRails on IRC.Freenode.net, port 6667. Every now and then, I will ask a question and get a WONDERFUL answer. Not only did his response clear up some stuff in my mind, but I have since used his advice about looking at other live examples.
  • Bookmark and constantly refer to multiple git repositories. Specifically the Facebook competitor Diaspora, Sassy, and Shapado
  • Railscasts are awesome, once you have the basics under your belt. They really help you do specific stuff in Rails.
  • Just diving in. CompVersions was my first Rails app, and it has been a steep learning curve. Very steep. But I feel MUCH more fulfilled having done everything the hard way. That approach might not work for everyone else, but that's what has worked for me.
  • I must confess that I never focused on learning Ruby, but now that I have a certain foundation in Rails and a bit of Ruby under my belt, I do plan on learning more Ruby.
  • Ironically, writing about my learnings also helps. There is something about explaining that forces you to understand what you are talking about.
I also had to learn (and am still learning) jQuery which I pretty much took the same approach.
Here are some additional CSS resources I used in my journey:
I apologize if this is too much of a link dump, but people constantly ask me what resources I used to learn everything and I have not been able to point them to one comprehensive place for me. But now I do :)

The next parts will dive more into services used and such.

Look forward to hearing from you in the comments.


Marc Gayle
www.marcgayle.com
www.twitter.com/marcgayle