Sebastopol, CA--Cocoa is more than just a collection of classes, it's a complete API set, class library, framework, and development environment for building applications and tools to run on Mac OS X. With more than 240 classes, Cocoa is divided into two essential frameworks: Foundation and Application Kit. Above all else, Cocoa is a toolkit for creating Mac OS X application interfaces, and it provides access to all of the standard Aqua interface components such as menus, toolbars, windows, and buttons. But aside from the material that Apple includes with its Developer Tools, very little documentation exists to cover Cocoa's Objective-C Frameworks--vital tools for anyone interested in developing applications for Mac OS X. Cocoa in a Nutshell by Michael Beam and James Duncan Davidson (O'Reilly, US $39.95) is the book developers will want close at hand as they work with this technology.
"Cocoa has a lot of potential," says coauthor Beam. "It takes a lot of the burden off of application developers by providing an extremely rich foundation of functionality that is needed in every application. Developers can build on this and spend their time coming up with creative and innovative ways for users to interact with their applications. Apple is empowering developers to be innovative with Cocoa."
"Cocoa in a Nutshell" is divided into two parts, with the first part providing a complete overview of Cocoa's classes. It provides developers who may be experienced with other application toolkits the grounding they'll need to start developing Cocoa applications. It describes common programming tasks, and many chapters focus on the larger patterns in the frameworks so developers can understand the larger relationships between the classes in Cocoa, which is essential to using the framework effectively. Part one includes:
An overview of the Objective-C language
Coverage of the Foundation and Application Kit frameworks
Overviews of Cocoa's drawing and text handling classes
Network services such as hosts, Rendezvous, URL services, sockets, and file handling
Distributed notifications and distributed objects for interapplication communication
Extending Cocoa applications with other frameworks, including the AddressBook, DiscRecording, and Messaging frameworks
The second half of the book is a detailed quick reference to Cocoa's Foundation and Application Kit (AppKit) classes. A complement to Apple's documentation, "Cocoa in a Nutshell" is the only reference to the classes, functions, types, constants, protocols, and methods that make up Cocoa's Foundation and Application Kit frameworks, based on the Jaguar release (Mac OS X 10.2).
According to coauthor Beam, "Cocoa in a Nutshell" will help developers find the information they need faster and easier. "The 'In a Nutshell' format had always been a very efficient means of communicating information, particularly for more experienced developers," says Beam. "Cocoa is a very verbose and wordy API; that is, the method names are long and can have many arguments. It is often the case that a developer can be moving along in his code, and he knows what method to use, but can't remember the precise syntax. This book seeks to provide a quick way to look up that syntax."
Additional Resources:
An article by coauthor Michael Beam, "Networking in Cocoa"
More information about the book, including Table of Contents, index, author bios, and samples
Cocoa in a Nutshell
Michael Beam and James Duncan Davidson
ISBN 0-596-00462-1, 545 pages, $39.95 (US), $61.95 (CAN), 28.50 (UK)
order@oreilly.com
1-800-998-9938; 1-707-827-7000
About O’Reilly
O’Reilly Media spreads the knowledge of innovators through its books, online services, magazines, and conferences. Since 1978, O’Reilly Media has been a chronicler and catalyst of cutting-edge development, homing in on the technology trends that really matter and spurring their adoption by amplifying “faint signals” from the alpha geeks who are creating the future. An active participant in the technology community, the company has a long history of advocacy, meme-making, and evangelism.