Objective-C

Mac Development with Objective-C

With the recent release of the iPhone SDK I know a couple developers who have purchased a Mac and are thinking of doing some iPhone/Mac software development. Now, most of these developers are from a purely Microsoft development background, from the early days of Win32 and COM development, perhaps some VBScript, and now .NET development. They don’t have a background in a low level language, such as C. Objective-C has been around since the 80’s, it’s basically a very thin OO layer on top of C. If you know C you should have no problem learning Objective-C. I learned C back when I was going to university for my Engineering degree. I think it’s a good thing to learn a low level language such as C or Assembler, as it helps you later on when you are learning a lot of the higher level languages, such as Java or C#. I myself have been playing around with Objective-C, mainly for writing a couple little programs I use on my Mac, but I would like to try an iPhone App if I could think of one to develop.

Here are a couple good resources I’ve found for helping learn Objective-C.

The first place to start would be the Apple Developer Connection. It has good tutorials on Objective-C, Cocoa development, iPhone development, and using XCode, the Apple IDE.

There are a couple blogs I follow which are pretty good: Cocoa Is My Girlfriend, Mac Developer Tips, and iPhone Developer Tips.

There are also a couple books I recommend. These books mainly pertain to XCode, but you learn Mac development at the same time. Both of these books have taught me a lot.

Cocoa Programming For Mac Os X (Third Edition): Aaron Hillegass. Make sure you get the third edition, as this one is geared toward XCode 3, which is the newest release. I have the second edition also, and while you can probably follow along, the changes between XCode 2 and XCode 3 are pretty big, so you will have trouble following along with the code samples.

26778177

XCode 3 Unleashed. The great thing about this book is it walks you through developing an application from start to finish using XCode and the other tools provided by Apple for UI design, unit testing, and performance testing.

28187225

I will agree with a co worker of mine that the barrier of entry for a developer on the Mac platform is a bit higher than that of a developer on the Windows platform, but in a way I think that works to the Macs advantage. You don’t have every point-and-click coder out there creating crap applications for the Mac, a Mac developer has to be a bit more knowledgeable.
|