Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Cocoa programming for OS X: the Big Nerd Ranch guide (5th ed.)
Hillegass A., Preble A., Chandler N., Big Nerd Ranch, Atlanta, GA, 2015. 556 pp. Type: Book (978-0-134076-95-9)
Date Reviewed: Oct 15 2015

Recently, the Apple software development community has been experiencing a rapid rate of evolution--more rapid than usual. Apple, always ready to embrace progress, is clearly committed to making Swift the preferred language for OS X and iOS development, while continuing to upgrade its operating systems (OS X and iOS) and Xcode, the integrated programming environment, at its usual brisk rate. For developers, Swift, a new language, is the more challenging jump, even if they are already familiar with the Cocoa framework that underlies OS X and iOS development. Also, Apple intends to release Swift as open source soon, so rapid evolution can be expected to continue for a while.

This fifth edition covers Cocoa development with Swift. This is the major difference from previous editions. The environment is assumed to consist of Xcode 6.3 or later, and Swift 1.2 or later. Recent updates to Xcode 7 and Swift 2 introduced significant changes. Aware of these changes, the authors provide a document, “Swift 2 Companion Guide for Cocoa Programming for OS X,” on the book’s website (https://www.bignerdranch.com/we-write/cocoa-programming/). This website also contains links to an errata and an interactive forum, both indexed by topic rather than by page number, and solutions to the exercises (see below). Thus, the companion website is an essential adjunct and a valuable resource to the reader.

As indicated in Bayard Kohlhepp’s review of the first edition (CR126350), this book has been recognized as an excellent source for learning OS X programming and the Cocoa framework. The fifth edition maintains the standards of previous editions. And while the bulk has grown considerably, the authors still intend to provide a tutorial introduction to the major Cocoa patterns for OS X development rather than encyclopedic coverage of the subject. The reader is expected to have a solid educational background and to be thoroughly familiar with basic programming concepts and object-oriented programming. By the time the reader has gone through all the chapters, he or she should have acquired a solid foundation to build OS X applications. An afterword reminds the reader that there is more to learn and provides encouragement and advice on additional resources to pursue.

While OS X and iOS share a lot of Cocoa ground, development for each of them is best dealt with separately. But, without any explanation, iOS, Apple’s operating system for mobile devices, is not covered here. In fact, “iOS” is not even found in the index.

The contents have grown to 37 chapters (the table of contents can be seen on Amazon, but not on the book’s website). Along the way, several applications are developed and enhanced. This is very much a hands-on book. The best way to learn the material is by doing--by following the detailed instructions, navigating through Xcode, typing the code, and consulting the Apple documentation. Often, code is shown first, and explanations about what the code is doing follow. This is an excellent way to avoid abstract explanations. New code to be inserted is shown in bold font, and old code to be replaced is shown crossed out. This makes the work in progress visually clear. Abundant Xcode screen shots are very helpful indeed. The writing is concise and to the point.

Many chapters end with one or two challenging exercises. As indicated above, solutions are available on the companion website. Needless to say, the given solutions are more valuable as resources to compare with the reader’s own solutions rather than as shortcuts to the correct answers.

Since Swift is new, the authors are justified in dedicating two chapters to a quick introduction to the language. Additional language features are introduced throughout the rest of the book as needed. Once Swift is more settled and better known, these chapters will likely disappear in future editions.

This book will be useful to developers already familiar with Xcode and Objective C, but not with Swift. These readers will find that the interplay between Swift and Objective C, the language of Xcode, is so well designed that it becomes nearly transparent. The relevant details are included. The book will, of course, also be immensely valuable to readers who are new to OS X development altogether.

More reviews about this item: Amazon, Goodreads

Reviewer:  Edgar R. Chavez Review #: CR143861 (1512-0997)
Bookmark and Share
  Featured Reviewer  
 
Object-Oriented Programming (D.1.5 )
 
 
Apple (D.3.2 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Object-Oriented Programming": Date
Object-oriented programming systems, languages, and applications
Paepcke A.  Object-oriented programming systems, languages, and applications,Phoenix, AZ,Oct 6-Oct 11, 1991,1991. Type: Whole Proceedings
Oct 1 1992
Object lifecycles
Shlaer S., Mellor S., Yourdon Press, Upper Saddle River, NJ, 1992. Type: Book (9780136299400)
Apr 1 1993
Object-oriented programming
Voss G., Osborne/McGraw-Hill, Berkeley, CA, 1991. Type: Book (9780078816826)
Oct 1 1992
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy