Introducing the “Welcome to Xojo” Bundle!

New to Xojo and looking for guidance? We've put together a terrific bundle to welcome you! Xojo Bundle

This bundle includes six back issues of the magazine -- all of year 21 in printed book and digital formats -- plus a one-year subscription (beginning with 22.1) so you'll be learning all about Xojo for the next year. It's the perfect way to get started programming with Xojo. And you save as much as $35 over the non-bundle price!

This offer is only available for a limited time as supplies are limited, so hurry today and order this special bundle before the offer goes away!

Article Preview

Buy Now

Issue 2.3


Cocoa Programming

Issue: 2.3 (December/January 2003)
Author: Brian Jones
Article Description: No description available.
Article Length (in bytes): 4,247
Starting Page Number: 10
Article Number: 2306
Related Web Link(s):


Full text of article...

Many REALbasic programmers are curious about what the Cocoa API from Apple has to offer and about how they can work with it using Apple's Project Builder/Interface Builder IDE. REALbasic Developer has its Cocoa column which addresses issues specific to the Cocoa novice with a REALbasic background. However, as a general introduction to Cocoa programming, it simply does not have enough room to go into great detail.. Other sources of information on Cocoa tend to have similar problems in that their intended purpose precludes them in some way from serving as a comprehensive introduction to the material. Perhaps the best conceptual introduction to Cocoa is Aaron Hillegass's book Cocoa Programming for Mac OS X. However, it has little to offer as a reference for specific technologies in the API. Apple's online documentation is an exceptional catalogue of all the classes in the API, but developers, especially beginners, who do not know what they are looking for may be overwhelmed. Straddling this middle ground is Cocoa Programming by Scott Anguish, Erik M. Buck and Donald A. Yacktman.

Cocoa Programming's strength is in its balance. The book begins with a short introduction to the practical task of programming in Mac OS X and follows with a conceptual introduction to ideas particular to Cocoa and Objective-C programming, which is also short. Both of these sections are sufficient, although not comprehensive. The bulk of the book follows with a catalogue of various technologies, systems, classes, and interface elements that Cocoa provides, along with short, straightforward examples and discussions of their implementation. The breadth of matter covered is impressive, although not exhaustive. However, what lack of coverage exists is more than made up for by the instructive quality of the material.

The fundamental topics, such as the graphics system, basic interface elements and the text system, are all covered well. In addition to these fundamentals, there are many short introductions to more specialized materials such as OpenGL, networking and threads. The book will not teach you much about any of these more specific issues, but it will certainly provide everything necessary to tie existing general knowledge of the subject to its specific implementation in Cocoa.

Most of the examples demonstrate their subject well and are well-written. There are a few cases of examples that do not work when taken directly from the book without tweaking, but these are few and far between. The companion website for the book is adequate and offers current versions of all of the important source code from the book as well as some projects that are only available online. The website does nothing more, and is, as a result, unimpressive, but it does accomplish everything that should be expected of it.

Cocoa Programming is a bit light on introductory conceptual material, so it may not be the best book for the true beginner. However, with programming knowledge, particularly knowledge of an object-oriented language such as REALbasic, Cocoa Programming would be the book to buy if you were to buy just one.

End of article.