Organization of This Document
See Also
To a developer new to it, Cocoa might seem like a vast, uncharted new world of technology. The features, tools, concepts, designs, terminology, programming interfaces, and even programming language of this development environment may all be unfamiliar. Cocoa Fundamentals Guide eases the initial steps to Cocoa proficiency. It provides an orientation to the technological landscape that is Cocoa. It introduces its features, basic concepts, terminology, architectures, and underlying design patterns.
You can build Cocoa applications for two platforms: the Mac OS X operating system and iPhone OS, the operating system for multi-touch devices such as iPhone and iPod touch. Cocoa Fundamentals Guide presents Cocoa-related information for both platforms, integrating the information as much as possible and pointing out platform differences when necessary. The intent is that, as you become familiar with Cocoa for one platform, it will become easier to transfer that knowledge to software development for the other platform.
Cocoa Fundamentals Guide is structured to lead gradually to a general understanding of what Cocoa development is all about. It starts with the most basic information—what Cocoa is in terms of its components and capabilities—and ends with an examination of the major architectures. Each chapter builds on what was explained in previous chapters. Each section gives the important details about a subject, yet describes it at only a high level. A section frequently refers the reader to another document that offers a more comprehensive description.
In the set of Cocoa developer documentation, Cocoa Fundamentals Guide is the conceptual entry-point document. It is prerequisite reading for other essential Cocoa guides, such as Cocoa Drawing Guide, View Programming Guide for Cocoa, and iPhone Application Programming Guide. Cocoa Fundamentals Guide assumes little in terms of prerequisite reading, but readers should be proficient C programmers and should be familiar with the capabilities and technologies of each platform. For Mac OS X, you can acquire this familiarity by reading Mac OS X Technology Overview; for iPhone OS, read iPhone OS Technology Overview.
Cocoa Fundamentals Guide has the following chapters:
“What Is Cocoa?” introduces Cocoa from a functional and broadly architectural perspective, describing its features, frameworks, and development environment.
“Cocoa Objects” explains the advantages and basic usage of Objective-C, plus the common behavior, interface, and life cycle of all Cocoa objects.
“Adding Behavior to a Cocoa Program” describes what it's like to write a program using a Cocoa framework and explains how to create a subclass.
“Cocoa Design Patterns” describes the Cocoa adaptations of design patterns, especially Model-View-Controller and object modeling.
“Communicating With Objects” discusses the programming interfaces and mechanisms for communication between Cocoa objects, including delegation, notification, and bindings.
The book includes two appendixes that present information specific to the Mac OS X version of Cocoa:
“The Core Application Architecture on Mac OS X” examines the network of application objects Cocoa puts into place to facilitate drawing and event handling.
“Other Cocoa Architectures on Mac OS X” summarizes major architectures of Cocoa that assist application development and expand application capabilities.
You can find several excellent third-party introductions to Cocoa in technical book stores. You can use these books to supplement what you learn in Cocoa Fundamentals Guide. In addition, there are a few other Apple publications that you should also read when starting out as a Cocoa developer:
The Objective-C 2.0 Programming Language describes the Objective-C programming language and runtime environment.
Model Object Implementation Guide discusses basic issues of subclass design and implementation,
Cocoa Application Tutorial shows you how to build a simple Cocoa application for Mac OS X using the Xcode development environment, the Cocoa frameworks, and Objective-C.
iPhone Application Programming Guide presents much information specific to the frameworks used to develop applications for devices running iPhone OS.
© 2008 Apple Inc. All Rights Reserved. (Last updated: 2008-11-19)