 |
Cocoa(R) Programming for Mac(R) OS X (2nd Edition) by Aaron Hillegass
Book Summary InformationAuthor: Aaron Hillegass Edition: Paperback Audio: English (Unknown); English (Original Language); English (Published) Published: 2004-05-10 ISBN: 0321213149 Number of pages: 480 Publisher: Addison-Wesley Professional
Book Reviews of Cocoa(R) Programming for Mac(R) OS X (2nd Edition)Book Review: THE BOOK Introducing Mac OS X Programming Summary: 5 Stars
Aaaron Hillegass' book, Cocoa Programming For Mac OS X (second edition) is THE introductory Cocoa book. Last year I returned to the Macintosh family with the purchase of an iBook. FINALLY, a mainstream OS with a bullet-proof, proven foundation AND with an incredible graphics engine. 'Nuff said! Cha-Ching on the visa card!
My background includes several years with a large IT consulting firm and some work as a teaching assisitant while in graduate school.
From reading online discussion groups and reviews here at Amazon, I got the impression that most people attempting to learn Cocoa start with this book, so that's where I started. Having completed the book, I am glad that I followed the advice of others in this regard. Here are my comments, kudos and otherwise:
- The book assumes a knowledge of C or C++. Cocoa is written in and designed to be used with Objective-C. Aaron introduces Objective-C concepts and terminology as needed throughout the book, but he assumes that you know C. For instance, he doesn't explain that NSPoint and NSRect are NOT Cocoa classes. He tells the reader that they are structs but does not explain the concept of a struct since experienced C programmers do not need that information. I do agree with the other reviewer that it can be confusing as to what is a struct and what is a Cocoa class if one only looks at the name of the entity, but that fault lies with the framework designers who chose the naming convention, not Aaron. The point is that if you don't know C, LEARN C BEFORE BEGINNING THIS BOOK. (Having taught C++ before, I had no trouble picking up Objective-C without referencing any other material.)
+ Aaron teaches by example. He presents a topic in high level terms and then instructs the reader to follow step-by-step instructions to implement the concept. After writing the code and seeing it in action, he explains how it works and then goes into even greater deal at the end of each chapter with a section titled "For the more curious."
+ Aaron's writing style is informal and casual. If you didn't know better, you'd think your best friend was by your side instructing you in simple, easy-to-understand terms. In fact, he makes Cocoa seem much more simple than it is.
+ Most chapters are short and can be completed in one sitting in 1-2 hours at most. However, there are a couple of exceptionally long chapters-- I think too long. As much as I tried not to do so, I had to break longer chapters into 2-3 sittings. I believe that I, like most people, learn better when given small chunks of knowledge and time to digest it before moving forward.
+ Aaron covers some topics in the book I wouldn't expect to see in an introductory book: 1- creating InterfaceBuilder pallets and 2- creating frameworks.
- I wish there was more information on views, windows, array controllers, bindings, and window controllers. Some views, for example, have flipped origins and some do not. [English: The origin coordinate (x=0,y=0) of some views begins at the lower left corner while other views set the origin to the upper left corner.]
+ BUY THIS BOOK if you want to learn to create MacOS X software!
Summary of Cocoa(R) Programming for Mac(R) OS X (2nd Edition)According to Apple, "The Cocoa application environment is designed specifically for Mac OS X-only native applications. It is comprised of a set of object-oriented frameworks that support rapid development and high productivity. The Cocoa frameworks include a full-featured set of classes designed to create robust and powerful Mac OS X applications. The object-oriented design simplifies application development and debugging." Cocoa Programming for Mac OS X, 2/e teaches programmers and developers all the tools for Cocoa development. This book has a strong tutorial format and is completely updated for Mac OS X 10.2. The reader is guided through writing five applications and an InterfaceBuilder palette. Each project teaches several new ideas. As a new concept or technique is introduced, the text describes it in detail. This book will cover in depth the following topics: Cocoa: What is it?Where did it come from; ProjectBuilder, Objective-C, Controls, Archiving, Helper Objects, Multiple nibs, Getting and Setting User Defaults, Using Notifications, Custom Views, Responders and Keyboard events, Creating InterfaceBuilder Palettes, NSTimer, Updating Menus, Working with NSTextView and Using Java with Cocoa. There's a reason that a large slice of the open-source movement has defected from running Linux on its laptops to running Mac OS X. The reason is the Unix core that underlies Mac OS X, and the development tools that run on that core. Cocoa makes it easy to create very slick Mac OS X interfaces for software (as well as to create applications in a hurry), and this new edition of Cocoa Programming for Mac OS X does an excellent job of teaching its readers how to put a Cocoa face on top of code (Objective-C code almost exclusively). If you know something about C and/or C++ programming and want to apply your skills to the Mac, this is precisely the book you want. Author Aaron Hillegass teaches a Cocoa class, and his book reads like a demonstration-driven lecture in a computer lab. That is, the book takes a heavily example-centric approach to its subject, beginning with simple announcement windows and proceeding to cover the more advanced controls and object-oriented features of Cocoa and Objective-C. Throughout, he hops back and forth between descriptions of the goal to be accomplished, listings of the code that does the job, and instructions on how to use the Mac OS X development tools to speed the development process. --David Wall Topics covered: How to write software for Mac OS X in Objective-C and, especially, with Cocoa. The new edition shows how to use NSUndoManager, add AppleScript capability to an application, do graphics work with OpenGL, and use Cocoa under Linux using GNUstep. As well, all the basic controls and design patterns are covered.
Computers & Internet Books
|
 |
|
|
|