And now, at long last, we arrive at the end of Part 2 of Cocoa 101: Object-Oriented Programming for the Masses. I'm very pleased to see that you've made it this far and that you've found Cocoa to be an interesting and hopefully exciting technology. I also hope that you have indeed learned a bit about what Cocoa is, what it can do, and the basics of how Objective-C works. I'm happy to report that all of the concepts presented in parts 1 and 2 of this article series constitute the basis of what it means to be a Cocoa developer, and you will find that just about everything you learn about Cocoa in the future will simply be building upon these core concepts.
I haven't quite decided yet if I should write a Part 3 for Cocoa 101, because, in a sense, Apple and many others have already written Part 3. Apple provides some excellent Cocoa development tutorials and more detailed overviews of the Foundation Kit and Application Kit on the Cocoa Documentation Web Site, and there are numerous other Web sites and books which feature documentation, tutorials, and sample code for you to play with and tweak. In addition to the links I presented in the previous article, here are some more resources you should definitely check out (if I've overlooked anything, please forgive me!):Web Sites & Mailing Lists
I was much remiss to leave Stepwise out of my earlier list of sites. Stepwise has been providing a valuable online resource for NeXTSTEP/Cocoa/WebObjects developers for over nine years (!) now and contains many great articles targeted at both beginners and advanced developers alike. Incidentally, Stepwise is run by Scott Anguish, co-author of one of the best Cocoa programming books currently available (in my humble opinion). See below for further details.
Omni Source Code
This is not for the faint of heart, but the Omni Group, a long-time NeXTSTEP/Cocoa developer, has made available a huge amount of source code in the form of several large and robust frameworks. The Omni frameworks have been used by many other third-party Cocoa developers, and it's certainly worth taking a look at them and discovering all the many things they can be used for.
Cocoa Mailing List Archive
This site contains up-to-the-minute archives of both Apple's Cocoa-Dev mailing list and the Omni Group's popular MacOSX-dev mailing list. If you're like me and you find receiving hundreds of geeky e-mails a day to be simply too daunting, then this site is for you. The search engine is an awesome feature as well.
I've only purchased three Cocoa reference books so far, but there are several more than that on the marketplace now, so I'll list all the ones I know about (or rather that Amazon.com knows about) here. I'll put the ones that I actually have read at the top of the list along with a brief description.
Cocoa Programming for Mac OS X
by Aaron Hillegass of Big Nerd Ranch
This was the very first Cocoa book that I ever bought, and it helped me gain a solid understanding of what makes Cocoa tick, as well as presented many valuable good programming practices. Aaron makes fine use of real-world example projects to help you feel like you're really accomplishing something, and his writing style is fun, yet philosophical. I would only knock it down to 4 stars out of 5 because I felt that a few of the more esoteric aspects of the Cocoa framework were somewhat overlooked. Then again, the book would have to be twice as big to cover everything, I suppose!
by Scott Anguish, Erik M. Buck, and Donald A. Yacktman
This is the "mother of all Cocoa books". Featuring over 1272 pages (!) of highly detailed information about nearly everything you could ever possibly want to know about Objective-C and Cocoa, this book is a must-have for anyone serious about Cocoa programming. The introductory sections on object-oriented programming concepts and design patterns and how they relate to the Cocoa framework are worth their weight in gold alone. While fairly technical in nature, I would say that any very enthusiastic beginner would appreciate what this book has to offer. I rate it 5 out of 5 stars!
Objective-C Pocket Reference
by Andrew Duncan
I bought this little guidebook because I knew that if I ever needed to remind myself of some Objective-C syntax and its usage, then this book would come in very handy. For what it is, it's a great little resource.
Books I Wished I Had:
Cocoa Recipes for Mac OS X
by Bill Cheeseman
Learning Cocoa with Objective-C
by James Duncan Davidson
Building Cocoa Applications: A Step by Step Guide
by Simson Garfinkel and Michael K. Mahoney
Cocoa Programming for Dummies
by Erick Tejkowski
Cocoa in a Nutshell (coming soon)
by Michael Beam and James Duncan Davidson
About the Author:
Jared White is President and Art Director of Web site and graphics design company GaelDesign. He is also Editor-in-Chief of The Idea Basket, an e-zine featuring provocative news commentary, articles, editorials, and reviews related to software and interface design, the Internet, multimedia, and technology. Jared became a PC-to-Mac switcher in 2001 and has been having a blast with Cocoa ever since. He can be reached via e-mail at firstname.lastname@example.org.