Wednesday, March 27, 2013

Cocoa Programming for Mac OS X (4th Edition)

Cocoa Programming for Mac OS X (4th Edition)

Authors Year Pages Publisher Dimensions, inch. File type Size, Mb First 20 pages
Aaron Hillegass
Adam Preble
2011 521 Addison-Wesley 6.38х9.38 PDF 56 First 20 pages


Book Description
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.
“Cocoa® Programming for Mac® OS X is considered by most to be the de-facto intro-to-OS X programming text.”
—Bob Rudis, the Apple Blog

“I would highly recommend this title to anyone interested in Mac development. Even if you own the previous edition, I think you’ll find the new and revised content well worth the price.”
—Bob McCune, bobmccune.com
If you’re developing applications for Mac OS X, Cocoa® Programming for Mac® OS X, Fourth 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 and Adam Preble introduce the two most commonly used Mac developer tools: Xcode and Instruments. They also cover the Objective-C language and the major design patterns of Cocoa. Aaron and Adam illustrate their 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.6 and 10.7, this fourth edition includes coverage of Xcode 4, blocks, view-based table views, Apple’s new approach to memory management (Automatic Reference Counting), and the Mac App Store. This edition adds a new chapter on concurrency and expands coverage of Core Animation. The book now devotes a full chapter to the basics of iOS development.


Detailed explanation: ID 10013



About the Author
Aaron Hillegass, who worked at NeXT and Apple, now teaches popular Cocoa programming classes at Big Nerd Ranch. At NeXT, he wrote the first course on OpenStep, the predecessor to today’s Cocoa tools. This book is based on the big Nerd Ranch course and is influenced by more than a decade of work with OpenStep and Cocoa.

Adam Preble learned Cocoa programming from the first edition of this book. After too many years of professional C/C++ development, today Adam writes Mac and iOS applications at Big Nerd Ranch, where he is also a Cocoa instructor. He is frequently filling in the gaps between work and family time with pinball machine software development and countless other projects.


Most Helpful Customer Reviews
Disappointing - The Best of a Bad Bunch December 1, 2011
By R. Bryan Harrison

I had high hopes for the 4th edition of this book. The authors clearly have considerable expertise, but the book isn't particularly well written and suffers from all the typical maladies of tech publishing: poorly organized, badly designed, full of errors, cheaply printed, and overpriced. Rather than improving on version 3, it's a slapdash edit thrown together merely to include changes Apple made to Xcode and the compiler in 2011. It reads like a promising middle draft of what might have been a terrific book.

In general, Big Nerd Ranch's books have the feel of something assembled from classroom materials. This is unfortunate - one suspects the classes are terrific, but a great book takes more than that and great teachers are not necessarily good writers. (And engineers almost never are.) In particular, there are far too many rabbits pulled out of way too many hats - "do this - wow!", "do that - kaboom!" - with insufficient background. Demos work great in the classroom where one can ask direct questions, but I'd prefer a book that takes a problem solving approach with clearly defined goals and equally explicit explanations of why certain approaches are superior to others.

The best parts of the book are "Curious" and "Challenge" sections at the end of each chapter, which require independent thought and adapting concepts and techniques to serve actual needs. Would that the whole book had taken that approach. The worst part is the graphic design - the procedural instructions laid out in running text are unnecessarily difficult to follow and the reduced low-resolution screen shots are often barely legible. (Where did publishers get the idea that 72 dpi screen shots are acceptable in a $30 book?) Presenting this sort of information well in a 7" x 9" format is a difficult challenge the book's design fails to meet.

Certainly "Cocoa Programming for Mac OS X, 4th Edition" is better than the competition, but that's damning with faint praise. I found it difficult to use not least of all due to the nagging urge to rewrite it. But whatever the book's flaws, the tone of the writing is just right, the authors are clearly great guys who know their stuff, and they should be complimented for facing up to a difficult subject without any condescending "for Dummies" BS. There's a great deal of useful information I'm sure I'll benefit from revisiting it as my own expertise increases, but in general, the bar for tech writing is set way too low.

Yin & Yang, a little more on the Yin February 19, 2012
By R. Sullivan
First off, be advised that if you're running Snow Leopard you likely won't be able to use this book. Automatic Reference Counting is used throughout the book and only works on Lion. However, if you come from a background with Mac or iOS programming and have knowledge of retain cycles, you should be able to fill in the blanks.

The books available relating to the latest and greatest version of Cocoa are limited, and this one seemed to be at the top of the pack, so I took the plunge.

The first indication of concern came from chapter one with the statement, "...assure yourself that you are not stupid and that some things are just hard."

No, nothing is hard if it's explained completely, and from the beginning. Which is exactly where this book fails. While it does start from the beginning, it doesn't explain things completely.

Up to about chapter 8, the author does a halfway decent job of explaining things, but leaves out many of the important little details. For example, the author rarely ever discusses the properties in interface builder for various controls and objects. Only the specific ones that are used are discussed, albeit in very brief detail. To make matters worse, interface builder in Cocoa apps are often complex and it's very easy to make mistakes for someone without previous Interface Builder experience. These mistakes will certainly leave users frustrated at a minimum and require them to recreate entire projects at worst.

Around Chapters 8 through 10, and especially in chapter 9, the book appears to make a change from bearable explanations to almost none at all. Granted NSUndoManager is an involved topic, but isn't that all the more reason to add more information to the Chapter? Apparently not, because it's only 12 pages long with half of them being "type in this code." Even at the end of the chapter the book says, "We don't really expect you to understand every line of that code now..." I guess they don't expect you to EVER understand it it because they don't cover it anywhere else in the book. As important as including undo operations are in an app, I would think this would be one of the thicker chapters.

In chapter 10, the book goes from limited explanations to almost none at all. There are huge code blocks added that the reader needs to type, with explanations virtually non-existent. Simply type the code in, and figure it out on your own.

After chapter 12, the book goes back to the more tolerable explanations. In fact, at points it becomes quite good. This is a shame, really, because I feel that many aspiring Mac developers will be put off by the difficulties the previous chapters will give them.

As an iOS developer, I was able to get by with this book, but for those unfamiliar with iOS or previous Mac programming experience this book will be VERY daunting.

If you still decide to buy this book, I would recommend the Apress book "Learn Cocoa on the Mac" to go along with it. It's dated, but it fills in many of the blanks as to how and why things work.

Finally an Xcode 4 Explanation November 29, 2011
By K. O. Hanlon
This is the first book review I have ever submitted on-line. I'm not associated with Amazon.com nor am I associated with the Big Nerd Ranch. I have been waiting for this edition of the book for several weeks as it covers Xcode 4.2 and MAC OS 10.7. Previous editions of Xcode are completely different than the latest Xcode version. in addition, the new Mac OS offers several new additions. Previous books written on Xcode and Cocoa programming do not do justice and make it difficult to follow in the new environment.

I am writing this review in response to the first review that was written on the book for Amazon.com. The first reviewer seems to have had problems with the book and talks about incorrect code and code that does not work with the new compiler. I have completed about 50% of the book and have had no problems with any of the code. The book is well organized and is an easy read. I can easily recommend this book with 5 stars and would be a good addition to your IT library.

For anyone new to the Mac OS programming system, an understanding of object oriented programming is necessary. This book will give you only a very rudimentary explanation of object oriented programming. The Big Nerd Ranch, as well as, other authors offer very good books on object oriented programming. Mac OS is based on Objective-C. A good book should be read to make sure you understand Objective-C prior to using this book.

I currently have several books on Mac OS program this one has by far taught me more about Xcode 4.0 and Mac OS 10.7. Again, I rate this book 5 stars.

Detailed explanation: ID 10013

No comments:

Post a Comment