|
| Cocoa(R) Programming for Mac(R) OS X (2nd Edition) | 
enlarge | Author: Aaron Hillegass Publisher: Addison-Wesley Professional Category: Book
List Price: $49.99 Buy New: $6.00 You Save: $43.99 (88%)
New (16) Used (29) from $3.00
Avg. Customer Rating: 48 reviews Sales Rank: 76976
Media: Paperback Edition: 2 Number Of Items: 1 Pages: 480 Shipping Weight (lbs): 2 Dimensions (in): 9.1 x 7 x 1.1
ISBN: 0321213149 Dewey Decimal Number: 005.268 UPC: 785342213140 EAN: 9780321213143 ASIN: 0321213149
Publication Date: May 10, 2004 Availability: Usually ships in 1-2 business days Condition: new book we ship faster
|
| Also Available In:
|
| Similar Items:
|
| Editorial Reviews:
Amazon.com Review 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.
Product Description 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.
|
| Customer Reviews: Read 43 more reviews...
Cocoa yes, Objective C no September 2, 2005 26 out of 38 found this review helpful
I picked this book up as my first real effort to learn what developing on the Mac involves. The Mac is pretty complicated under the covers, cocoa is the 'easy' way to gain access to the Mac's power, and I learn best when there are a love of examples and explanation. Since then I've had a love/hate relationship with this book. Some of which isn't Aaron Hillegass' fault at all and some is probably an inherent flaw of a book for geeks by a geek.
In general, the book is an excellent introduction - well-written and loaded with programming exercises, Hillegas provides some introductory chapters on the Cocoa framework and the more common place aspects of Objective C and then you are off on a whirlwind tour of a very complicated country. If you stick to it, this book will teach you a lot. Unfortunately, ne of the things you will learn about is Objective C.
I've gone through the C, C++, and Java stages of software development. While I've forgotten most of what I knew, Objective C has a number of quirky ways of expressing itself. It has a piecemeal style of memory management which I find more leak prone than C++ and an inconvenient grammar that seems to dote on unnecessary numbers of brackets. Anyone who is used to Jave or C++ is going to find Objective C irritating. This isn't Hillegass' fault, but he has a habit of using extra long method names that brings out the worst of the language. I believe it's a modern geek thing to see just how long a name can be.
Hillegas wrote this edition before Xcode 2.0 appeared, and some of the examples, particularly in Interface Builder, don't quite make the transition, which can create some hairpulling. Eventually, you can figure everything out. I also found Hillegass's decidion to not make the source code available from his website a bit petty. While 99.99% of my problems were my own typing mistakes it would be nice to be able to download the source to see if it worked at all. He also includes a number of challenge assignments and refuses to provide more than vague hints. On several occasions my problem was that his assignment wasn't clear, not any real difficulty with the challenge.
I would also have appreciated a more methodical approach to Cocoa's architecture. I would have appreciated a walk of the framework hierarchy, but that has a lot to do with how I best learn frameworks. I'm still giving the book high marks, because it attempts to accomplish a lot, and it comes pretty darn close. But I've decided that learning to use Cocoa from Java would work better for me, even if Objective C is the current Apple standard.
Yes, I'm reviewing the 2nd edition May 5, 2004 23 out of 23 found this review helpful
I had the pleasure to attend the April 2004 Cocoa programming class at the Big Nerd Ranch. We used a looseleaf version of the final proofs of the 2nd edition of "Cocoa Programming for Mac OS X". Short summary: Excellent.I have the first edition of the book, so let me summarize some changes: The book uses Xcode. Cocoa bindings are covered, including key value coding and key value observing. The document architecture is introduced early, and this is coupled to an early discussion of implementing undo. Topics are developed logically and incrementally. The discussion on Java has been dropped, while class notes on OpenGL have been moved into the book. An early example has been simplified to flatten out the learning curve in the first part of the book. Code examples that are developed in stages now show the new lines of code in BOLD, a vast improvement when you're typing it in. This book has been refined systematically based on feedback from real students at the BNR classes. This attention to detail really shows. I recommend the book very highly. My only suggestion would be to use Apples "Objective C Programming Lanaguage" or "Programming in Objective C" (Steve Kochan) as an adjunct to this book if you need a slower introduciton to Objective C.
It was once great -- don't buy this version November 7, 2007 17 out of 22 found this review helpful
So, with the advent of XCode 3.0, this book is no longer even remotely related to the current state of things. [PLEASE SEE MY EDIT BELOW]
It relies HEAVILY on XCode for its examples (as does coding for the Mac), and the 3.0 version's interfaces, pre-defined project types and overall coordination are just too far off to make any sense.
I got the first example built, eventually, and it did run (you'll probably find success if you make Foo's Class type "Foo" instead of NSObject in the Inspector) -- but then the NEXT example instructed to start a "Foundation Tool" project -- and well -- they don't have those anymore.
On his website, he promises to have a new version of this book next year -- wait for it. Trust me. Really. Don't buy this one. Kudos to the author -- but we're three years off now, going on four.
There REALLY is no redeeming value in this book until the next version comes out. Then, make this your #1 choice.
[EDIT] Well, I'm wrong. Sorry. I installed XCode 2.5, and breezed through the example (in fact, in a sick way, my pains with 3.0 made this easier). So I have a new warning and comment:
WARNING: Do NOT use this book with anything later than XCode 2.x ... you'll just be baffled and frustrated. Clearly from my comment, I'm an XCode noob -- but once I got the right version, it's great.
COMMENT: DO pick this book (it's basically THE book for learning Objective-C). The Author's website (www.bignerdranch.com) promises to have a new version out in 2008, so all the better.
Excellent but does not cover well bindings... May 11, 2005 14 out of 14 found this review helpful
This book is simply excellent. It really goes into what cocoa is all about one step at a time. Starting with a very simple app and slowly getting into more complex topics like undo, drag and drop, etc...
It is full of screenshot, so you can easily implement the examples on your own. Everything is neatly detailed, with a lot of 'click here', 'drag this object from here to there' to make sure you are not lost using interface builder.
Of course, don't think that you can go through this book without knowing obj-c. This is NOT an obj-c intro (some people were complaining about this in other reviews !!) Come on... If you want to learn obj-c, simply get 'Programming in Objective-C' by Stephen G. Kochan...
The only problem with this book is that the technology is moving really fast. Apple is really taking care of its developers and introducing new concepts/ideas all the time... So, it makes it hard for any book to really stay up to date...
Two major new technologies not (well) covered in this book are:
1/ Bindings (not well covered) This second edition has been updated to cover some of the new 10.3 topics/tools, but I don't believe Aaron spend nearly enough time on 'cocoa bindings'. They completely change the way you approach an application and litteraly save you hours by taking care of all the 'glue code'.
CocoaDevCentral has some amazing articles which really show you how powerful bindings can be. Check out this one for instance and see for yourself: http://cocoadevcentral.com/articles/000080.php
2/ Core Data (too new to be covered) Core Data, a new Tiger technology is (of course) not covered. Another amazing technology which will help you get rid of a lot of glue code. Again, check these 2 articles on CocoaDevCentral: http://cocoadevcentral.com/articles/000086.php http://cocoadevcentral.com/articles/000085.php Apple keeps amazing me ;-)
THE BOOK Introducing Mac OS X Programming December 2, 2005 12 out of 12 found this review helpful
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!
|
|
| Powered by Associate-O-Matic
| |