411 REFERENCE · Wikibooks
Cocoa Programming
Reference material by Wikibooks contributors. This retains its source identity and is not 411 news reporting.
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 programming
C
25%
pl:Cocoa