Beginning Mac Programming Book Review
With the Apple iPad on the verge of release, gadgeteers and programmers alike are anxiously anticipating this exciting new product. Based on a new version of the iPhone SDK, the iPad is a BSD Unix computer at its heart with Apple technology riding on top. Learning this framework via Apple's preferred application development language, Objective-C, can be a different learning experience compared to other programming tutorials. Does author Tim Isted's book accomplish the task of taking those new to the OSX programming platform to a level of competency to proficiently write Cocoa-enabled Objective-C programs? Read on to find out.Divided into 14 chapters and 3 appendixes, Beginning Mac Programming starts readers with the basics and assumes no prior programming experience. Its ideally targeting Apple OS power users who are ready to take the next step in their mastery of the platform. The book also to a lesser degree is written as a primer to those who wish to develop custom applications for the iPhone and iPad by laying the groundwork education on the fundamentals of understanding and leveraging the Objective-C language.
After introducing the Apple Xcode IDE and constructing a container UI for a mock-up text window, the author spends a chapter on teaching the basics of object oriented programming using a home construction analogy. Objective-C objects, interfaces and implementations are discussed along with object messaging, target-action and wiring up UI outlets to code via Apple's Interface Builder tool. Variables and memory management are introduced in Chapter 5, with a quick tutorial on binary notation, addressing and pointers. Messaging, methods, passing values as well as object and memory management, arrays, logical expressions, looping and enamoring and the concept of Model-View-Controller design are covered in the chapters leading up to lengthy chapters on Mac-specific views and Cocoa mechanisms. The book concludes with a chapter on describing some of the Apple frameworks such as Core Animation, Core Data, garbage collection that is part of Objective-C 2.0, Key-Value Coding (KVC) and Key-Value Observing (KVO), concurrency and other recommended educational resources to further the reader's knowledge of Mac programming. Appendix A is a 15-page whirlwind introduction to iPhone development via a simple 'Tap Me' Hello World button press program. For those interested in taking the knowledge gained reading this book to the iPhone and iPad, I highly recommend Erica Sadun's The iPhone Developer's Cookbook.
Overall, Beginning Mac Programming is ideal for the Mac, iPhone or iPad enthusiast who is ready to take the next step and learn how to create their own custom Mac applications. Seasoned developers have other options, though may find the author's clear explanations and enthusiasm for the subject refreshing and encouraging. For those exclusively interested in iPhone OS development, this is not the book for them. Several other iPhone-specific programming titles are already on the market with more on the way. Rather, this book provides an adequate introduction to object oriented programming that just so happens to use the Mac OS and developer tools to accomplish this objective.
Title: Beginning Mac Programming: Develop with Objective-C and Cocoa Author: Tim Isted Publisher: Pragmatic Bookshelf ISBN: 978-1-93435-651-7 Pages: 428 Price: $34.95 US

