Version History

Version 05-04-2006: Removed the section about Adium and Growl, added Palette Section, Source section, Frameworks section. Added cocoa people, added books I own section.

Version 1: Added random stuff until it made sense.

The point of this document

The hardest problem I had when trying to learn any form of OS X development is just getting it. So here I have some links to things that are helping me. I'm still learning.

Books you can/should buy

If you can't get through the Apple docs, or just prefer a book, I'd recommend these two to start off with.

Programming in Objective-C Stephen Kochan

This is a very cool book to get. It's kinda linear, but can also be used as a reference. You can learn about the Foundation stuff in here, along with Objective-C. The neat thing about this book is that it does not assume that you know any C. Most other Cocoa/Objective-C books basically require a background in C.

Amazon link to this book

Cocoa Programming for Mac OS X 2nd edition, by Aaron Hillegass

The second edition is way better than the first, so you should definitely seek out the second edition. This is the defacto book if you are learning to code Cocoa. Basically anyone I know who does any sort of heavy lifting in Cocoa used this book in some form. Get it, you will not regret it.

Note: You need some familiarity with C, C++, JAVA, or Objective-C. This is why I recommended the Kochan book as well. You can usually buy these two books for fairly cheap together on Amazon.

Amazon link to this book

Programming books I own.

I own the above two books, but beyond that, I own the following. I will not comment on these, as I have not read them all (i.e. read parts but not all the way through)

Learning Perl, Third Edition (Paperback)

Mac OS X Programming (Paperback)

Mastering C pointers :tools for programming power

C Primer Plus

Beginning C, Third Edition (Expert's Voice) (Paperback)

Microsoft Visual C# .NET Step by Step--Version 2003 (Paperback)

Step Into Xcode: Mac OS X Development

Cross-Platform .NET Development: Using Mono, Portable.NET, and Microsoft .NET

C How to Program, Fourth Edition (Paperback)

Learning Cocoa with Objective-C, 2nd Edition (Paperback)

Program Development and Design Using C++, Second Edition (Paperback)

Microcomputer Theory and Servicing (Hardcover)

Design Theory

Part of OS X development is the look. It has to look "right". One pixel off and you may have some very angry users, or a bunch of support requests. If it looks right, it feels right. If it feels right, you are halfway there. (or at least you want to think that eh?)

The OS X HIG Guidelines

At the same time, you need to be aware that the HIG is just a set of guidelines. It is not the holy bible of design by any means.

Pointers

Pointers are not exclusively required to work with Cocoa, but understanding them will certainly help you out. This document should only take a short while to read, and is really worth the time you invest in it. This is written by Mac-arena and is very good. It is what I have learned pointers with.

The pointer talk

Docs

ADC Reference Library
http://cocoadevcentral.com/
http://cocoadev.com/
http://www.toodarkpark.org/computers/objc/
Stepwise
Objective-C is Fun
Objective-C links and resources
Apple's developer site

Mailing lists archives and Forums

Coder discussion forums

Apple's mailing lists

http://www.cocoabuilder.com/do.php

Interface Builder Palette stuff, Frameworks, Source Code, and other neat stuff

Interface Builder Palette stuff is my category for cool stuff that can be used directly in IB. Specifically, these are the cool little widget things you drag onto a NSWindow for instance, or something like that.

The rest should be self explanatory. If not, google them.

What's up with Apple not providing a toolbar palette? Either way, here's one:

GenericToolbar

Hotkeys are a pain to figure out because it's all over the place. But this does all the work for you.

Shortcut Recorder

Source

Some people give away source code. Read their licenses.

http://mattgemmell.com/source/

http://blakeseely.com/

Frameworks

Growl - Notifications, something like the bezel but more powerful and easier to add in.

Sparkle - For updating your app.

Links to cool Cocoa people

These are people who I know/have helped me with Cocoa in some way.

Andrew Matuschak

Andrew Wellington

Daniel Jalkut - Red Sweater Software

Gus Mueller - Flying Meat

Kevin Ballard