I’d been playing around with Ruby for a few weeks, making some little programs that I was happy with, when I decided it was time to venture into GUI. The obvious choice for my mac-loving self was Cocoa, so I found the RubyCocoa gem and went off in search for tutorials. I had never touched XCode, Cocoa, Objective-C, or InterfaceBuilder before. It’s a lot to learn all at once, but I found some sites that have helped.
This tutorial is the first one that I tried to work through. The instructions are very detailed, which I found extremely helpful as I’d never worked with XCode or InterfaceBuilder before. Being told exactly what to click on, along with tons of screenshots, was exactly what I needed in my first tutorial. By the end, I was left with a toy program that did work (there was one mis-named class in the tutorial, easy to spot if you’ve got your eyes open, or read the comments at the bottom). However, I didn’t feel like I had actually learned much. I knew how to make that program, but didn’t really understand much of what I did or have any idea how to extend it or make other programs. Detailed instructions good, explanations lacking.
Next up was an Introduction to RubyCocoa from rubycocoa.com. Not really a tutorial, but discussion of the parts of RubyCocoa (ruby, cocoa, objective-c) and where to find (mostly offline) resources for each. Elsewhere at the site is a guide to writing a small Asteroids-type game with RubyCocoa, but I haven’t had success with it. The instructions were too high-level, I didn’t understand XCode or InterfaceBuilder enough to follow them. I’ve gone back to this tutorial after I’d learned a bit more, and now can’t get the ruby code to work. I don’t know what I’m missing, but thumbs way, way down on this one.
After that frustration, I decided it was time for a purely Cocoa tutorial, that would hopefully help me understand XCode and InterfaceBuilder enough to focus more on the ruby aspect of what I wanted to be doing. Cocoa Dev Central has two fantastic introductory tutorials, Learn Cocoa and Learn Cocoa II. Aimed at people who have never coded, they did a great job of explaining what was going on in XCode and InterfaceBuilder. I was starting to understand. This is the tutorial I should have started with.
Happy with my burgeoning understanding, I wanted to work through another tutorial or two to get more of a feel for the Objective-C aspect of RubyCocoa. I was thrilled to discover Your first few days on RubyCocoa at Meta | ateM. With the newcocoa gem I could use RubyCocoa without XCode! This tutorial was a snap (at this point I don’t know if it’s because it’s a really good tutorial, or because I’ve picked things up from the other tutorials), and I’m excited now about trying my own code. Brilliant. So glad I found this one.