Rating:  Summary: Not Perfect, But Highly Recommended Review: This was the book I had been waiting for, or at least ONE OF the books I had been waiting for, to really get started with Cocoa programming. The O'Reilly book, as has been mentioned plenty of times here, leaves a lot to be desired, and while it was better than nothing, a wall still remained between me and Cocoa after finishing it.After reading Cocoa Programming for OS X, I feel I can say I "get" Cocoa finally. That's not to say I'm an expert, but that I can complete a simple program now, on my own, using the Cocoa frameworks and concepts. As Aaron says in the book, learing the Cocoa APIs will take much longer. I come from a Java background, with only marginal C and C++ experience. Although Aaron does not speak much about the objective-c language itself, that's ok. Apple's PDF is more than adequate to get that background. There are some things that get glossed over that I wish had been more fully explained, and some things left out altogether that I would have liked to see, such as: -- Spawning and managing multiple threads, thread safety issues -- exception handling, debugging and assertions -- Cocoa "primitive" objects (NSPoint, NSRect, NSRange, etc.), why they apparently don't need to be retained or released, and why they are "NS" objects but don't really behave like them. -- Calling Toolbox routines or those from APIs that have not yet been "Cocoa-ized" (and integrating the Old Way into the Cocoa Way), with examples. Cocoa is nice but once you get away from building a text editor, you will need to dig into this ugly and unfriendly world at some point (unfortunately). For instance, how do I access the Airport card, how do I open and use a network socket, how can I read a DV-encoded stream from a FireWirePort and save it to disk as a QuickTime movie, how do I access a database, how do I use an OpenGL view? -- How to customize Cocoa UI elements. Like if I wanted an NSSlider with TWO sliders, a minimum and a maximum. There is an example of subclassing an NSView in the book, but that's just a drawing panel. To be fair, I'm not really criticizing Aaron for these things. The book has plenty of useful stuff, and I'm sure Aaron wants to write and sell more books, so some advanced Cocoa books that address some of these things as well as others will be welcome...I hope someone is writing them right now. I also hope someone is writing a comprehensive Cocoa API reference, as Apple's is somewhat lacking (Have you seen the phrase "Description Forthcoming" more times than you care to remember? I thought so.) The bottom line is that this is a great book that is a must-have for anyone interested in Cocoa programming. I'd probably rate it four or four-and-a-half stars, but I'm giving it five for being there when I needed it, and being the first really useful book on the subject. The best thing I can say about it is that I can now do things there is simply no way I could have before.
Rating:  Summary: A programming book that neither condescends nor complicates Review: Hillegass' debut book is one of the best balanced programming texts I've read. Many reviewers have complained that the book is either too difficult (I need to learn a programming language/Obj-C first) or far too difficult (Cocoa demos with out exceptions). The fact that the limited negative reviews show this prove that this book accomplishes what it sets out to do. Teach _Cocoa_ programming. As other's have commented, I also have not let this book get far from my possession since buying it a month or so ago. I also proudly admit that I am now scheduling to take Hillegass' class at the BNR. I came to this book from a limited but intense history of Cocoa experience (< 6 serious months; working on a Cocoa app from scratch for a major commercial package; having a copy of the O'Reilly book since WWDC in May 2001) To this point, I was limited to picking out code snippets from the O'Reilly book, the cocoa dev mailing lists, and the rather barren documentation supplied with the developer tools. Where as these sources made me an 'acceptible' Cocoa programmer. Hillegass' text has allowed me to 'wrap my brain' around concepts that have not had strong documentation elsewhere. With a slow, steady, and progressive 'demo creation' approach, this text takes the reader through wirey Cocoa concepts like, "NSDocument", "FirstResponder", Event Modeling, View Subclassing, IB Palettes, Multiple Nib usage... Hillegass' teaching style asks you to try something before explaining the details or theory. This method is often successful if the author can give supporting explanations. Hillegass usually does so within (as he comments in the first chapter), "...only a paragraph or two..." The book is extraordinarily helpful and I would eagerly buy any other book that Hillegass releases on the topic.
Rating:  Summary: Great intro, a few nits Review: First my background. I'm a very experienced C++ programmer who is also very experienced with Carbon. I found this book to be a great intro to Cocoa without a lot of preaching about how Cocoa will change the world. Carbon vs. Cocoa seems to be an almost religous debate, and I'm glad this book didn't try to overpromise the benefits of Cocoa. The book is well organized, very readable, and has good examples. It is *much* better than the O'Reilly "Learning Cocoa" book. After reading this book, you'll be able to start writing applications in Cocoa, and you'll know where to go for more info. Now, my nits: * The book explicitly stated that it was for people with a C++ or java background, but I think there should have been more direct comparisions between C++/java and Objective C. For example, saying that class functions (the ones with +) are just like static functions in C++ would have helped. * This may be an introductory book for people moving from other platforms to the Mac, but the UI for most of the applications violated Apple's UI guidelines in many ways. I think the book should have promoted following Apple's UI guidelines. * There was no discussion of exceptions, and much of the code was not exception-safe and didn't do much error checking. There wasn't even the usual disclaimer about leaving that out for simplicity. * I would have liked a quick overview at the end of some of the classes not discussed in the book with a couple of sentences about what they do. This would help to learn what's out there. I hope to see more books on Cocoa by the author. There's still lots of room for books on more advanced Cocoa topics.
Rating:  Summary: Aaron Hillegass is a great writer Review: Most serious tech types can't write and need to team up with a less technical writer. When this happens the meaning is often muddled. Aaron covers all the important topics in an easy to read style. This just might be the best book ever.
Rating:  Summary: Same approach...better wording... Review: The primary problem with Aaron's excellent book is the same problem every Cocoa book thus far suffers from. You have to read at least three other books in order to fully grasp just what in God's name he's talking about. While the book will work wonders for you if you have a mid-to-heavy foundation in either Objective-C or Java, it does little good for would be developers who are approaching the library from a zero entry point. To begin to even consider programming in Cocoa, you'll need to skip right over this book for now, and instead read through Apple's developers documentation, and then revisit this, and other Cocoa works, once you understand the foundations and theories behind object-oriented programming. Aside from the above flaw, Aaron's book is the best available for Cocoa, although you will need to augment it with a few other books to have a real Cocoa reference library. Aaron approaches you as though he were right there with you as you read the book, giving the text a personal, and less intimidating feel then O-Reilly's Learning Cocoa. He attacks each topic one by one, and attempts to get you to understand each topic thoroughly before you move on. Every chapter builds upon the previous, thus creating a flow that many Dev books lack. All in all, a definite must for the mid-level developer approaching Cocoa, useless of a newbie, and probably equally useless for a seasoned pro.
Rating:  Summary: Great book from a great teacher! Review: Incredibly comprehensive... absolutely all you need to learn Cocoa and start building OS X applications now... Hillegass's book makes it obvious that classroom testing is the best way to produce good learning material. It also has a cool on-line tool, Techstra. If you run into problems or questions, plug in the page numbers you're dealing with, and you get additional information, comments, etc. about that area of the book.
Rating:  Summary: Best way to learn Review: While I'll agree you need some programming experience to learn from this book, it says you need to know C++ or Java. I don't know either (I know VB and RealBasic) and yet am learning Cocoa very easily from this book. Like the two guys that reviewed before me, if you need your hand held to use the online documentation after the book teaches you how to put everything together for yourself (and tells you to look at the online docs) then you'll become frustrated with this book. You NEED this book if you want to learn Cocoa quickly and efficiently. I'm half way through the book and I'm very excited to use Cocoa thanks to Aaron and his book.
Rating:  Summary: Pointless waste of my time Review: This book was not what I was looking for. I was looking for something a little more advanced than "How To Write Demos in Cocoa" (see "Programming in Cocoa" for an introduction to writing demos in Cocoa). I am very dissapointed, plus, the writing style was annoying.
Rating:  Summary: You couldn't even call this Cocoa 101 Review: I was really hoping this would be an in-depth and insightful book on the AppKit framework and Objective-C in general. It doesn't go much further than "Learning Cocoa" and the examples are so simplistic; reading the documentation would give you the same results. Oh well......I guess we'll just have to wait for someone else to come out with something geared more towards professionals.
Rating:  Summary: wonderful Review: this book is wonderful. I suggest it to every one who want to learn what is cocoa, how to develop with it and how to fall in love with Objective-C
|