Since I’ve switched to the Mac as my main work machine, I’ve been keenly interested in developing on that platform. There have been a couple of tools I really want to build but I have no idea how to even start programming on this platform. I figure that I might as well blog about my learning experience as well.
In the beginning, there is a number of things I needed to find out some basic information:
- Framework/Languages
- Integrated Development Environments (IDE)
- Primary learning source
Frameworks/Languages item was very interesting subject as there are a number of options to choose from. Carbon vs. Cocoa, Objective-C vs. Ruby vs. Python. As I’m new to Mac development, I’ll start with the latest and greatest frameworks – Cocoa. I’m not too interested in getting my code to be backward compatible with older OS releases as I don’t plan on writing any code for profit (or at least not yet.) In addition, from the sources I’ve read, although I can write code with either Ruby or Python, I will still need to know how Objective-C works — considering Cocoa was written with Objective-C.
Since I’m more of a Lotus/Microsoft developer, I tend to like integrated IDEs for development work. Usually there is some efficiencies to be gained if you learn/use an IDE rather just using Notepad, or whatever your text editor of choice is. First I had to find out what programming IDEs are out there for the Mac. Fortunately for me, there’s really only one: XCode. So I downloaded and installed XCode 3.0 from Apple’s site and with everything else Apple, it installed painlessly.
I would note however, everything is installed off the root of the volume you selected during the install process, rather than the Applications folder. This took me a bit off-guard as I had to go find the assorted development applications. Since I setup Quicksilver to update my database every day rather than every five minutes, I simply dragged the XCode app and Dashcode to my Dock. Dashcode is another developer utility to help create widgets quickly. I thought I’d experiment with that too.
My next challenge was to find a source to teach me all this Cocoa goodness. Since I have a Safari subscription, I figure let me start there. I’ve selected the book Cocoa® Programming for Mac® OS X, Third Edition. It had a large number of good reviews on Amazon and it seem like a book that didn’t get heavy on theory. Other reviewers also stated that this book will not teach you Objective-C, but rather how to write Cocoa applications. This is good, as I don’t know if I need to know everything about Objective-C to write any of the applications I want.
So the basics are covered. I’ll try to knock off a few chapters today and possibly look into some websites that can help out a Cocoa nubie.
-JT