Getting up to speed with Objective C
As you know, I bought a MacBook Pro about 6 months ago. Since then, it has really become my primary PC. I carry it with me everywhere, including when I travel for work. In fact, since the battery life on the MBP is so much better than the ThinkPad, its become my main traveling work laptop too. My job requires the use of virtual machines and the fact that I can run my VMWare Workstation virtual machines on VMWare Fusion makes all of that possible.

I think I am a bit different from 90% of Mac users in that I am not content with the applications provided by others. I want to build a few of my own to solve some of the problems I have. On Windows, I could do this fairly easily with Visual Studio and C#. I even built a course around developing custom solutions for Alchemy using C# and VB.NET (once you write something in C#, translating to VB is pretty trivial). I would like to do another one of these courses in the future around the RightFax API as well.

Doing this on the Mac though isn’t possible using my existing knowledge. While C# is on the Mac in the form of Mono, I don’t think its quite as baked as Objective C and Cocoa. But how does one get up to speed on this new platform, language, framework, and IDE? Well, it turns out there are quite a few resources available today. I first started with a book called Learn Objective C on the Mac. I am not sure whether its a good book or not since I seem to have misplaced it. So I picked up Cocoa and Objective C: Up and Running. Don’t waste your time on this one. It doesn’t seem to be written in a way thats helpful for the person learning about Objective C who already has experience with other languages.

The best resources I have found so far for learning about Objective C and Xcode are free. They aren’t easy reads, but I am learning quite a bit about them already. The first is on iTunes U and its a course in developing for the iPhone put on by Stanford University. I am not so interested in building apps for the iPhone right now, but the first few lectures have just been about building simple apps in Xcode. This is enough for me to get familiar with the language and the IDE. There is just enough lecture to get the gist of it, then some assignments that are a bit challenging but easy enough to complete on my own. Now I am reading through the extensive documentation on the Apple Developer site learning about what is in the Foundation classes and Cocoa.

Whats next? I’ll continue with the course and see where it takes me. I’ll also take on some CodeKatas to see if I really understand it all.