Cocoa Programming

If you are a beginner, please consider Programming Mac OS X with Cocoa for Beginners

About Cocoa
Cocoa is the name Apple Computer uses for their extended implementation of the OpenStep specification, first created by NeXT for their OPENSTEP operating system. It provides a useful set of tools to help developers create programs and user interfaces within Mac OS X. There are three implementations of the OpenStep specification, the one originally provided with the OPENSTEP operating system, but the most common ones today are the one provided by Apple, and the other by GNUstep, a free software implementation of OpenStep.

If you don't have access to an Apple Macintosh, and you would like to learn how to use the OPENSTEP frameworks, then running GNUstep is worth a consideration (and should be sufficient to let you experience the power of the OPENSTEP frameworks).

Getting ready to program
If you are using an Apple Macintosh computer running Mac OS 10.2 or later (the latest version of Mac OS X is recommended) then you can find all the tools needed to develop Cocoa programs on the last software install CD. The tools are also available from Apple's Developer's Website. In order to download them, you need to create a free account and login. You can also find them in the "Installers" folder of your "Applications" folder (they could be outdated, make sure you run software update after the installation). The two programs you will use most extensively are Xcode (known as Project Builder in versions before 10.3) and Interface Builder.

If you are using GNUstep then you may already have the tools installed. The programs you will need to complete most of the tutorials in this book are ProjectCenter and Gorm. You will need to refer to the GNUstep website for help installing these.

Before starting any of the modules that make up this book you should have a good, basic knowledge of the C programming language. C will help you understand programming in general.

It would be advantageous for you to learn Objective-C as well, as it is the core language for developing Cocoa applications, and may help to assist in understanding the machinery behind Cocoa applications. Learning Objective-C while learning Cocoa is also possible.

Modules

 * First steps
 * Objective-C basics
 * Memory management
 * Foundation Kit
 * Application Kit
 * Basics
 * Commonly used items:
 * Cocoa Programming/sheets
 * Cocoa Programming/toolbars
 * Cocoa Programming/drawers
 * Cocoa Programming/progress indicators
 * Cocoa Programming/preferences
 * status items
 * Cocoa Programming/dock menus
 * Cocoa Programming/wrapping command line tools
 * multithreading
 * Cocoa Programming/vector drawings
 * Cocoa Programming/OpenGL
 * Cocoa Programming/Web Kit
 * Cocoa Programming/web content

Cocoa