Channels ▼

Mike Riley

Dr. Dobb's Bloggers

Beginning Mac Programming Book Review

March 15, 2010

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

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.