
|
 |
|
Cocoa(R) Programming for Mac(R) OS X (3rd Edition)x$28.89
    (129 reviews)
Best Price: $49.99 $28.89
The best-selling introduction to Cocoa, once again updated to cover the latest Mac programming technologies, and still enthusiastically recommended by experienced Mac OS X developers. “Aaron’s book is the gold standard for Mac OS X programming books—beautifully written, and thoughtfully sculpted. The best book on Leopard development.” —Scott Stevenson, www.theocacao.com “This is the first book I’d recommend for anyone wanting to learn Cocoa from scratch. Aaron’s one of the few (perhaps only) full-time professional Cocoa instructors, and his teaching experience shows in the book.” —Tim Burks, software developer and creator of the Nu programming language, www.programming.nu “If you’re a UNIX or Windows developer who picked up a Mac OS X machine recently in hopes of developing new apps or porting your apps to Mac users, this book should be strongly considered as one of your essential reference and training tomes.” —Kevin H. Spencer, Apple Certified Technical Coordinator If you’re developing applications for Mac OS X, Cocoa® Programming for Mac® OS X, Third Edition, is the book you’ve been waiting to get your hands on. If you’re new to the Mac environment, it’s probably the book you’ve been told to read first. Covering the bulk of what you need to know to develop full-featured applications for OS X, written in an engaging tutorial style, and thoroughly class-tested to assure clarity and accuracy, it is an invaluable resource for any Mac programmer. Specifically, Aaron Hillegass introduces the three most commonly used Mac developer tools: Xcode, Interface Builder, and Instruments. He also covers the Objective-C language and the major design patterns of Cocoa. Aaron illustrates his explanations with exemplary code, written in the idioms of the Cocoa community, to show you how Mac programs should be written. After reading this book, you will know enough to understand and utilize Apple’s online documentation for your own unique needs. And you will know enough to write your own stylish code. Updated for Mac OS X 10.4 and 10.5, this revised edition includes coverage of Xcode 3, Objective-C 2, Core Data, the garbage collector, and CoreAnimation. Suitable for anyone with a little C/C++ programming experience who wants to create software for the newest Mac platform, Cocoa Programming for Max OS X provides a slickly packaged and approachable tutorial that will get you started creating state-of-the-art Mac programs. The smart presentation style and easy-to-understood code examples help make this text an excellent resource. (It also helps that Aaron Hillegass is a truly engaging writer.) He first explains how the legacy NeXTSTEP platform has evolved into Cocoa on the Mac OS X. Beginning with short examples illustrating the actual Cocoa tools in action, the author gets you started with simple programs for a random-number generator, a raise calculator, and other comprehensible examples. Rather than just listing APIs and classes, the emphasis is on hands-on Cocoa development. An early standout section provides a nice tour of essential Objective-C features you'll need to know to use Cocoa effectively. This book covers the several dozen built-in Cocoa controls, from basic text and buttons to more advanced widgets (including lists and tables). Subsequent sections look at user interface design (using the Interface Builder to create nib files) and how to add programmatic processing behind the visual layout. Along the way, the author introduces coverage of essential Cocoa APIs for strings, arrays, and dictionaries. Later chapters look at saving and loading documents (and user defaults) and how to tap the powerful graphics abilities available in Cocoa. (Besides image and basic drawing, there are short sections on PDF support and printing.) More advanced user interface features get their due by the end of the book, including cutting and pasting data through the Cocoa pasteboard and also adding drag-and-drop support. Final sections look at creating new controls for use with the Interface Builder palette, and, briefly, how to use Java with Cocoa (an option that the author doesn't necessarily recommend). Throughout this text, the author provides more advanced, challenging problems at the end of each chapter for the "more curious" reader. This approach keeps beginners from getting lost in the details of Cocoa development, but gives the more advanced reader something more to do. While there are comparably fewer books on Mac OS X compared to other platforms, readers are lucky to have this one available. Anyone who wants to get onboard with Cocoa development will be well served by this title. It's a fine tutorial that earns high marks for its approachable, clear examples and an excellent presentation by an author who knows his stuff and, better yet, knows how to teach it to others. --Richard Dragan Topics covered: Brief history of the Mac platform (from NeXTSTEP to Mac OS X), basic Cocoa development in Objective-C, using Project Builder and Interface Builder tools, tutorial to Objective-C (instances, variables, using classes, arrays and other containers, custom classes), the Objective-C debugger, basic Cocoa controls (building user interfaces), tables and data sources, event handling and delegates, archiving documents (encoding and decoding, saving and loading documents), Nib files, window panels, saving and retrieving user defaults (including using dictionary classes), notifications (observers and more on delegates), alert panels, localization (including string tables, a English and French example, the nibtool utility), custom views and drawing, drawing images and mouse events (plus coordinates systems and autoscrolling views), responders and keyboard events, fonts and strings (including attributed strings and PDF support), pasteboards and nil-targeted actions, using Objective-C categories (a code reuse feature), drag-and-drop support, timers, sheets and drawers, formatting strings, printing support, on-the-fly menu updating, text editing with text views, basic tutorial for using Java with Cocoa, and custom Interface Builder palettes (and inspectors).
|
Customer Reviews
|
Not Perfect, But Highly Recommended      By A3GO4IQ2FS2RTE on 2002-02-23
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.
Great intro, a few nits      By A3B5QJVM1TLYJG on 2002-02-04
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.
Getting started in Cocoa      By A17J251F546SK5 on 2002-09-16
First, I have to say I loved this book, I actually read half of it on a trip, not being in front of my computer, and still enjoyed the clear style and the gradual addition of new concepts and tools, chapter after chapter. Then I could hardly wait to be back home and start doing it for real.Now for the potential buyer. WHAT IT IS NOT: a reference book (no list of classes etc...) or a technical book for advanced programming; a book about Java or Carbon; an introduction to object-oriented programming; an introduction to C. WHAT IT IS: an excellent introduction to programming in Objective C in the Cocoa environment of Max OS X, provided you know enough about object-oriented programming (some basic understanding of C++ is preferable too). WHAT YOU LEARN: Objective-C in Cocoa; using Apple Developer Tools; building an application in Mac OS X; how to make optimal use of Cocoa classes and API, knowing how they were conceived and meant to be used; a number of basic concepts and tips that really get you started. THE PLUS that make this book so interesting: very good and clear writing; some amusing brief 'historical' insights; you really feel the author knows what he is talking about; the author gives personal views (clearly stated as advices, not rules); follow-up, errata, examples, comments, and more on his web site; still completely useable with OS X.2 (a couple or very minor changes that are listed on the web site anyway), so that's the good time to buy it (price is down, but content is still up to date). Final comment: Objective C in Max OS X is very powerful and enjoyable.
Cocoa yes, Objective C no      By A1M4NJYP0WNL8Q on 2005-09-02
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      By on 2004-05-05
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.
- Fantastic Cocoa Resource
     By A2CC1VDLRGCWY5 on 2002-01-15
Before reading this book, I highly recommend you read the "Object-Oriented Programming and the Objective C Language" document from developer.apple.com. Forcing myself through the concentrated, dry spec made it easier to understand, enjoy, and appreciate Mr. Hillegass' wonderful explanations. My favorite aspect of this book is that the author gets you into writing sample apps right away. After the 3rd chapter I felt like I knew the tools and environment well enough to write a very simple Cocoa app (like beginning programming excersize type things). I love how he takes you through the tools and shows you how to use them in the context of writing the sample program. When he explains concepts I feel like he does a very good job of giving concrete examples of when you would use such concepts in code. The author's writing style felt like he was talking or lecturing to me, but without making me feel like a little kid. A little about my background: I have a computer science degree, I know Java, and I've done some C++ programming as well. This book is NOT for you if you do NOT have any background in Object-Oriented Programming or if you do NOT have any background in C or C++ (you need to understand pointers and memory management in order to learn ObjC from this reference).
- this book is pretty good, but...
     By A2MWUIYIMC5UZK on 2003-01-06
here's what i discovered while i was trying to learn Cocoa: this book, by itself, was not sufficient for me to really "get off the ground" with Cocoa. Now, don't get me wrong, this really is a good book and, in most areas, Mr. Hillegass explains the material quite well. my problem was that after i had worked --perhaps struggled would be a better description -- through the first 4 chapters of the book i was still left feeling somewhat confused about how to go about writing a Cocoa progam. for some reason things just weren't "clicking" as well as i thought they should be.not being the quitting type, i began to search for other books on Cocoa programming. i purchased the O'Reilly book "Learning Cocoa With Objective-C", second edition. after reading a few chapters in the O'Reilly book, then going back and re-reading the material in Mr. Hillegass' book, things began to click. since that time, the approach has proven the most useful for me is to read the O'Reilly book until i get stuck on a particular topic, then cross-reference with Mr. Hillegass' book in order to get a different perspective/explanation. in addition, working through *all* of the examples in both books has proven tremendously helpful. if i had my way, i'd combine the material from both books into a single book. :) in summary, if you buy this book and find that you are having trouble grasping the concepts, try purchasing the "Learning Cocoa with Objective-C" -- make sure to get the 2nd edition -- and see if getting a different perspective/explanation works for you.
- It was once great -- don't buy this version
     By A1OR2YH917M0I5 on 2007-11-07
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...
     By A2PRSJ8YW9B5ZI on 2005-05-11
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 Best Book Ever
     By A2561OV7C2WJAX on 2001-12-17
I'm slightly biased, because I am the author, but I think this may be the best book ever. I've read the book dozens of times, and each time I find something new and delightful in it. It is useful, clear, timely, and even humorous at times.
- Teaching experience shows
     By A10GI8Y3I44NR8 on 2002-01-08
I was halfway through the O'Reilly book on this topic, and just stopped when I started the Hillegass book. (And my opinion of O'Reilly books is generally very high.) His experience as a teacher really shows. Each time a question arises in my mind, he answers it in the next paragraph. Perfectly targeted for the experienced programmer who simply doesn't know the Cocoa framework. Pretty hard to improve on this book.
- THE BOOK Introducing Mac OS X Programming
     By A1NNIIOH6OQWFD on 2005-12-02
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!
- Well done step by step tutorial
     By A1M8PP7MLHNBQB on 2004-12-08
This book falls somewhere inbetween Beginner and Intermediate. It's a beginners book in that it assumes no background in Cocoa or Objective-C. It's kind of intermediate in that having at least programming experience in some language will be of great help.
The book does not start with a lot of philosophy, instead it goes through a step-by-step process to wrtie the first application. This is done with some good explanations and a lot of screen shots.
The author is a teacher of Cocoa, and he wrote this book to use in his classes. After writing the firt edition he used it for a couple of years, enough to understand where the problems might lie. Now he's done a second edition based on what he learned in teaching the first book, and the changes that Apple has made in the software.
This book is tutorial, not a reference book. It leads you through the process step by step. Then there is a fairly extensive index so that you can look up points later. Highly Recommended.
- Marv
     By A8X2BV2BSQYLG on 2002-01-05
Simply the best book for learning OS X Cocoa programing on the market today. Written in a chatty, easy to read style with lots of pictures by a bloke that knows what he's talking about. Much easier to read than "Learning Cocoa" from Apple. Working through the books chapters and accompanying programming challenges you actually learn and understand step-by-step. You will quickly have your own OS X programs up and running based on the examples in the book. A great starting place for new Cocoa programmers. Four stars not five because there are a few errors in the printing that I have - however the BigNerdRanch web site has all corrections online.
- Excellent Introduction
     By on 2002-10-04
Cocoa Programming for Mac OS X is a GREAT way to learn the basics of programming Mac OS X! I've been a Mac user since 1988, but have always been terrified of programming it. Instead I'd gone the evil route and programmed Delphi for Windows. NO MORE. I'm excited about programming my Macs!THE BAD The title is probably a misnomer, which is causing a lot of the negative feedback here. "Complete Introduction to the Power Of Cocoa" would have been more appropriate. This book isn't any type of reference book. Nor is it a text on programming philosophy. Nor is it a "Learn Objective-C" manual. And it's not a comprehensive "learn everything about Cocoa" book. My positive remarks about these perceived liabilities are in "THE GOOD" paragraphs below. There ARE some typos in the book, but no real errors in the code that I've discovered. In many chapters, you're adding to a program you've built from an earlier chapter. On two or three occasions, variable names in the "new" chapter are different from the "old" chapter. But when doing the build, it became quite obvious and wasn't really much of an impediment -- if you can't follow the program flow and detect the problem by time you reach these chapters, you probably rushed or shouldn't be programming! Still, though, it IS a legitimate "bug" in the book. It's probaby useful that you know something about object-oriented programming. I don't mean knowing C or C++ or Objective-C -- just know a little about object-oriented concepts. Chances are, if you're a modern programmer, you already know enough to make this "bad" point meaningless. If you're a very advanced object-oriented programmer, you may want to FORGET some of what you know to appreciate the pure simplicity of the Objective-C/Cocoa object model! THE GOOD It's an in-depth introduction to programming Cocoa in Objective-C. It will get you excited. It will spark your imagination as you work through the example code. You will want to learn Cocoa and forget everything else. If you know programming in general, you probably DON'T need to know C or C++ or even Objective-C prior to working with this book. I came to it with an Object Pascal background with no working knowledge of C. If you can THINK then you can pick up Objective-C as you work through the book. It's REALLY very simple, even in comparison to Object Pascal. The book is very well supported on the website. There's even a page-search function with errata and user-feedback in case you get in trouble. I've used it for help with a couple of the chapter "challenges." RECOMMENDATIIONS Buy this book, and work through it, and try the challenges. You'll often HAVE TO work through the Cocoa documentation to do the challenges, but this is good because you'll need to learn how to use the documentation to do any serious work. When you're done with the book, you'll be confident and thrilled, and be ready to buy a true reference book (which I'm just getting ready to do!).
- Excellent tutorial introduction to Cocoa.
     By on 2002-10-05
This book is an excellent introduction to Cocoa. It is basically what "Learning Cocoa" should have been. It is clearly not the only Cocoa book that you will want, but it will get you to the point that you can read and use other sources. The examples are well chosen and build up incrementally, so you can clearly see that code that is associated with new features as you add them. The book does get to full-up applications, but only simple ones. In this sense, I think this book joins nicely with "Cocoa Programming" or "Building Cocoa Applications". This book does the introductory and tutorial build up better than the other books, I think, although in less detail, and then you can go on to more elaborate applications elsewhere.The book presumes knowledge of C and the rudiments of object-oriented programming. You can get this as go, from Apple's "The Objective C Programming Language" but you'll need to go slower and be prepared for some puzzles along the way. Also, you really need only minimal knowledge of C, mainly understanding of pointers, to work through the examples in the book. There are a few weaknesses in the book. The description of the tools, Interface Builder and Project Builder, is sparse, and the book is now a bit out of date with the current incarnation of the tools that Apple is actually shipping. The differences are minor, but can sometimes be perplexing for beginners. Also, the tools (IB in particular) can be set up in various window "modes" that totally change the layout of parts of the tool. This isn't mentioned here, or in any other Cocoa book I've seen. These however, are minor quibbles in an excellent introduction to Cocoa programming. I highly recommend this book to anyone who wants to start programming under Mac OS X.
- Learn from the master...
     By A12S17RLO1TNYL on 2001-12-12
I actually carry this book with me to and from work. I have found it essential in getting up to speed in Cocoa programming quickly (I had a Java background). Apple's documentation and examples leave much to be desired, and this book fills the gaps.All of the code snippets are easily reused (like the printing example), which allows me to concentrate on the more important aspects of my application's logic. Each chapter introduces a new topic, most of which build on previous examples. I don't think I can praise the book enough for it's value. I was fortunate to learn from Aaron personally at the Big Nerd Ranch. If you can't make the pilgrimage to the BNR, this book is the next best thing.
- A programming book that neither condescends nor complicates
     By A2PX9I8J0X9CSS on 2002-02-18
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.
- Perfect
     By A23VO7LF1D45MQ on 2005-02-28
This was the book I needed, but never knew about. It took a trip all the way to WWDC to find out how great this author is. If you're starting to get serious about Cocoa programming and have a background in computer science or programming, get this book. Aaron knows his stuff and you will get there with his help. I tried a few O'Reilly guides on Cocoa and Objective C, they were useful, but this book helped me get through some issues and figure out this beautiful language. Things made sense, there were a few sections in the book I re-read over and over at 3am until it stuck in my head, but it worked.
I am not disappointed and the book had a lot of hype to live up to. Sorry for not being more specific, but I think you can download a chapter for free online and read more for yourself to make sure this style will work for you.
- Great first book on Cocoa
     By A2ZUQJCWGHTRA6 on 2008-05-20
This is the book I have been waiting for!
I am a recent convert to Macs. Ever since I fell in love with my Mac (now two Macs actually), I have yearning to do some experimental application development on it. I should also add that I have extensive programming experience on Windows.
Anyway, I downloaded Xcode, went to numerous websites, saw YouTube video all to try and understand how to create apps for the Mac. Yes, I was able to create an application with some buttons on it that updated a text box. But anything beyond that just didn't make any sense.
Then I ordered this book. I had to wait a couple months as it hadn't been released yet. But boy, was it worth the wait. I got so into the book, I ended up doing a semi-cursory pass of the entire book in about 2 hours. Then I went through the chapters again, reading chapters in-depth and experimented with the code side-by-side. I am happy to say - I finally get it. There are still questions I have, but I feel that I have a much better shot of finding answers in Apple's documentation as well as the numerous Cocoa-related websites.
Note that while the book does teach you the basics of Objective-C, it's not meant to be a complete reference. But between what I read in the book, Wikipedia and Apple's excellent introduction to Objective-C 2.0 PDF, you should be all set.
To summarize, just order this book if you are new to the world of Mac programming but still don't "get it". You will be glad you did.
- If you buy one Cocoa programming book, this should be it
     By A1PY156QM1IKZN on 2002-01-18
Aaron has the experience in programming Cocoa (Objective-C and Apple's dynamic runtime environment), and it clearly shows. While his book doesn't answer every question, and doesn't provide an extensive reference of the API's provided by Apple, it does cover all the essentials of style, thought, and idiom commonly used by Objective-C programmers.Aaron's book is also backed up with a website which is honestly helpful, and I hope to see more technical books follow his lead in providing an ongoing resource that matches, and even exceeds the book. I've asked and received several answers through the site, and it makes a perfect complement to the book, increasing it's value significantly. This is the first one to get. Complement it with online information created by Bill Cheeseman and his "Vermont Recipies", and you'll be fully cooking in Objective-C/Cocoa programming.
- An excellent first book
     By on 2002-02-24
Comparing this (Hillegass's book) to ADC's "Learning Cocoa" which was the first book out: This book is far easier to follow, in that it's written at the level a programmer needs; giving enough of an overview of what it's doing that you can better understand every detail/aspect of the code it shows you. Clearly, Hillegass has taught many programmers, rather than being a system engineer who's never taught anyone. (Unlike ADC's book, which makes you run through examples but scarcely explains what it's doing, leaving you to infer the logic behind everything -- and sometimes is quite ambiguous.) --- ... You should be aware, that Hillegass's book is not a comprehensive book about *all* of Cocoa. It focuses on the big, obvious aspects of Cocoa, the really neat stuff Cocoa has to offer, but if you're looking up, say, specifics of how drawing takes place, you won't really get a full overview. No book yet does that, to my satisfaction. (Cocoa is quite big, and no single volume can cover it all.) Between ADC's Learning Cocoa, and Hillegass's book, I use Hillegass's book as my primary source, the first place I look things up, and 80% of the time it's superior to ADC's book.
- A must-have book
     By A2LAFD8TJ6W26P on 2002-05-25
If you're serious about programming on Mac OS X and have at least some experience under your belt already, then you really owe it to yourself to get two books: (*)"Building Cocoa Applications: A Step by Step Guide." (*)"Cocoa Programming for Mac OS X"I started tinkering with Mac OS X a few years ago by reading a hodge-podge of incomplete Apple docs, sites like Stepwise, and archives of Omni-Group lists. These sources are great for reference, but it can be difficult to get answers you need unless you already have enough experience to know what questions to ask. Tough luck, newbie. O'Reilly's "Learning Cocoa" felt like an extension of Apple's docs - minimal on concepts and not entirely clear on some of the objectives of the examples. It's difficult to get an bigger-picture view of some of the capabilities offered by Cocoa and how you _could_ be doing development without a good explanation of concepts, clearly written example exercises that follow a sequence of topics, and additional information on how to make the best use of the Apple-provided developer tools. The authors of both books take great pains to explain concepts to you in basic terms and then reinforce them with very well designed examples that really make you think. They then approach component problems from varying angles in order to help you understand the different options you have for tackling them. The chapter summaries and additional follow-up exercises were a very nice touch. Best of all is the idea that these books are not teaching you how to use particular classes in a restricted situation - they're teaching you how to understand _solutions_ in terms of Cocoa and then equip you with the skills required to plan your entire development approach and execute your project. The pointers on where to find additional documentation and some very, very cool tricks on how to use the development environment really made these books worthwhile. I now feel more comfortable with Cocoa and more confident in my abilities to program on Mac OS X. Thanks, guys. :)
- Eclipses the O'Reilly Books
     By on 2002-06-08
This book is the essential book for learning Cocoa. While it doesn't cover Objective-C in detail, the small chapter that does cover it shines light on key aspects of the language that is just too hard to pick up from Apple's online documentation or the O'Reilly Cocoa books. Also, this book demystifies Project Builer and Interface builder. This allows the reader to absorb the Cocoa APIs and patterns without wondering how the tools work or what the icons mean. This book doesn't cover advanced topics such as threading or advanced graphics, but it is essential to get started in Cocoa programming. I can only hope that the author publishes a second volume on more advances techniques and perhaps even a WebObjects book.
- Outstanding introductory text
     By A3UHQJEO62RTAH on 2002-07-02
I have been through, in detail, the three Cocoa programming books that I know to be available currently. This text, by far, offers the most elegant and usable approach to Cocoa development of the three.I particularly like that the focus remains on Cocoa. The other texts focus too much on ancillary topics, better addressed in other sources, e.g., object-oriented programming, and the Apple Developer tools. Mr. Hillegass also provides clear and concise explanations, that proceed logically, but without hindering the reader wishing to jump to specific topics. The written explanations and source code are supported with object diagrams, providing a clear representation of the object models under discussion. Unlike many examples in the other two texts, the writing style allows one to feel almost a part of the design process. The end-of-chapter exercises push you to experiment with the ideas presented, while still providing enough guidance to keep the level of frustration low. I sincerely hope that the author publishes a follow-up to this book addressing intermediate and advanced topics in Cocoa programming.
- Step by step introduction to OS X development in Cocoa
     By A2QT0KPQU671OU on 2004-10-13
This is a well written overview of start-to-finish application development in Cocoa. It's primarily focused on use of the interface builder and how that maps to the back-end Objective-C objects. The text is light and easy to read, and screenshots are used effectively. There are also some diagrams to demonstrate the relationships between objects at runtime.
I appreciated the walkthrough, but I would have preferred a reference section that provided an overview of the Cocoa APIs. That would make it valuable after you have gone through the walkthrough.
- EXACTLY What you need to get started.
     By AY80JZQLPSTAB on 2006-06-27
I just got my first Mac Mini (been a PC programmer for years and years).
I installed XCode (free!)
And got this book...
It is perfect. It gives you the facts and walks you through great examples. Very concise and to the point without any mac is better than pc/micrososft etc.
Simply a great book. Do not hesitate in picking this one up.
- The Rachael Ray of Mac programming
     By A1BDJK501QH72G on 2008-08-01
If you have zero programming experience whatsoever and want to dip your toes in the shallow end of the Cocoa pool then I can see how picking this book up might seem like a watershed experience for you. Aside from that, I'm not sure who its target audience is as there is little congruence between its accolades and its content.
There is nothing, repeat, NOTHING, in here that is not in Apple's free tutorials and documentation. While I too strongly prefer physical objects I can hold and highlight to web pages on a screen, the fact that you get little more than a brief glance at what little material is actually covered will drive you to the electronic docs in the end anyway. What was the point again? Oh, right, Hillegass needs money since he's not really producing marketable software anywhere that I can see.
I was "taught" Cocoa by former NeXT employees much like Mr. Hillegass while doing time at Apple, and while none of them wore goofy looking hats in order to assert their wholly contrived notions of in-your-face individuality, all of the expats I encountered shared some uncannily common traits:
1. They'd never actually used OS X let alone written any commercial software for it, yet there they were telling Mac developers how to do their jobs. I'm sure this has changed since then and at least a few of them have actually had an opportunity to use a Mac once or twice.
2. They don't like learning anything new and will vehemently defend the quality of any random piece of garbage they wrote back in 1988 regardless of how terrible it is.
3. Any time their code is actually proven to be terrible they will fall back on the "fixing it now would be impossible because I'm the only one who really understands it and I don't have time" method of preserving job security.
4. They (not so) secretly think they're better than anyone at Apple who didn't come over on the buyout Mayflower despite the fact that their company and all of its products failed miserably and like to stage numerous petty rebellions against commonly accepted Apple conventions to make sure everybody knows how cool they are.
I won't say that any of the code in here is downright terrible--while it does tend to lack any notion of error handling, very little of it actually DOES anything so how bad can it be?--but I will say that the UIs Hillegass slaps together violate both Apple HIG and common sense in more ways than you could ever want to shake a stick at, making me wonder whether he's still too busy raging against the machine to follow any pesky "rules" or just legally blind. Photos of the man's attire and tattoos have prevented me from completely ruling out the latter, but who knows.
While this level of aesthetic slop might be perfectly excusable in a teenager's blog about TkInter or something, the post-buyout Interface Builder draws all these pretty blue lines on the screen for you so you know when window elements are properly aligned; lines which you really have to go out of your way to ignore. You're not putting on a slideshow for a bunch of guys from a Bangalorean trade school here, you're preparing materials for publication in a book you plan on charging a lot of money for. How about you at least pretend to care for showmanship's sake rather than foster horrendously bad habits amongst those who mysteriously find you worthy of emulation? Writing a lame, overpriced book certainly isn't a crime, but this one in particular can be directly blamed for much of the nonsense that makes every Cocoa-centric mailing list and discussion board completely unreadable due to the manner in which both it and its author are marketed. As such, it annoys me on a near daily basis by proxy.
And as for that exciting all new material in the exciting all new 3rd edition, it's like a really, really bad joke (not to be confused with the numerous other really, really bad jokes which liberally pepper Hillegass' prose [yeah you're no Elaine Boosler there, buddy]). Especially weak is the chapter on CoreAnimation which will teach you nothing more than the fact that there's a class called CALayer that can maybe do some kinda cool stuff if you can manage to think up a slightly less contrived example than the author did after spending what must have been nearly 10 minutes pilfering Apple's documentation (did I mention that it's free yet? Because it is.).
Now I do have to admit that I am truly envious of Mr. Hillegass' ability to schmooze so effectively that lazy people actually believe his watered down version of the information they all have sitting right in front of them is worth its weight in gold. The day he writes a book on exploiting others' weaknesses for profit I'll be the first in line to buy a signed copy because I have absolutely none of these clearly valuable people skills. Until then I would suggest that he focus on taking his final challenge himself and produce a brand new Cocoa application that other people actually use if he wants to be seen as an authority figure on the subject. WebObjects doesn't count.
- you need this book
     By AY0AGTWKOQ2TI on 2002-01-14
It's books like this that make you realize that you want several books like this.There's really no such thing as an introductory Cocoa book - Cocoa is something for C programmers who have a desire to write GUI based apps from an object-oriented perspective. Cocoa's grad school; there's no particular undergraduate degree required; just good test scores and a desire to learn from people who have thought about hard problems longer than you have :-) Cocoa is a big, sprawling subject. This book is a great slice through a complex subject. A really great slice. The best slice thus far. But we still need about 2 or 3 more books at this level, and 2 or 3 more at a more advanced level. Want to learn about Cocoa? Then buy this book. Now. Start programming with it. And when you realize that there are other books you still need, Aaron will have done his job. Hopefully he'll have another book ready by then :-)
- You couldn't even call this Cocoa 101
     By AWE35K4KKN8NK on 2002-01-20
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.
|
|
Cocoa(R) Programming for Mac(R) OS X (3rd Edition) Accessories
|
|
|
|
You may also be interested in...
|
|
|
|
|
|