Summary:
The Great App Explosion of 2008 sparked something of a
renaissance in independent software development. With the
creation of the iPhone App Store Apple kick-started this
renaissance by giving developers three key things - an
exciting platform, a huge potential customer base, and a
powerful and flexible development environment in the form of
Xcode. Xcode had been about for years as it was the de-facto
IDE for Mac application development, but The Great App
Explosion put it into the eye line of many developers who
would never otherwise have seen it.
Unfortunately when an IDE is good it also tends to be
complex and Xcode is no exception. Many books have been
written about developing software for iOS and for the Mac and
while there are many fine publications they usually focus on
the details you need to be a good iOS or Mac developer from
an API perspective. What they naturally lack is the
information you need to be a good Xcode user. This is
compounded by the fact that it is only relatively recently
that Xcode 4 has come out of developer preview in order to
replace Xcode 3. Many of the iOS and Mac development guides
have yet to be updated for Xcode 4. A niche therefore exists
for a book that not only explains how to use Xcode itself,
but also explains how to use the latest version.
I[HTML_REMOVED]m glad to be able to say that the niche has
now been filled by
Mastering Xcode 4 - Develop and Design by Joshua
Nozzi. This is a book focussed on how to use Xcode 4 and its
component tools such as the editors, compiler, the debugger,
Interface Builder and Instruments. While it contains some
code examples they exist solely to help the reader understand
how to use the tools, and not the other way around.
The book is split into 3 parts. The first part is an
overview of Xcode which takes the reader from download and
install, to creating and building projects, followed by a
tour of the user interface. While it may seem like basic
material the tour is not only useful to newcomers but also to
the experts - the UI changes between Xcode 3 and 4 may
confuse some hardened veterans.
The second part is what you need to read if you have a
good idea about Mac/iOS apps and know what you want to
create, but you[HTML_REMOVED]re just not sure how to use the
myriad of tools that Xcode provides. This section goes into
more detail on some of the intermediate activities you may
carry out with Xcode. It covers aspects such as user
interface design with the newly integrated Interface Builder,
project management and source code editing. It also deals
with using the Core Data Model Editor, basic debugging and
build and deployment of an application.
The final part is where experts will feel more at home.
Some of the topics take the earlier chapters and extends upon
them. Advanced editing and debugging are covered as well as
working with the workspace model which is new to Xcode 4. But
it[HTML_REMOVED]s not just a deep dive on previous material -
new topics are also introduced such as fine control of the
build system, creating frameworks and bundles, using
Instruments and using source code management. You could get
by without this section but these chapters contain material
which can greatly speed your workflow and help you produce
higher quality software.
The book has a light and refreshing feel to it -
it[HTML_REMOVED]s not overbearingly long, the chapters are
good bite-sized chunks, and the writing style conveys the
author[HTML_REMOVED]s authority in the subject area without
being patronising. It works great as a tutorial and as a
reference. Every chapter states its intentions and concludes
with a wrap-up. Particularly useful are the sections towards
the end of each chapter that explain how the new Assistant
feature works with the tool just described.
I[HTML_REMOVED]ve read numerous books on iOS and Mac
programming over the last few years. Some are great, some are
bad, and some are rightly accepted as canonical for the
subject matter. They can teach you to be a great programmer,
but only give you the minimum of Xcode knowledge. If you just
buy a book on iOS or Mac programming you[HTML_REMOVED]ll
simply get by with Xcode today. If you buy this book
you[HTML_REMOVED]ll master Xcode forever. If you are an iOS
or Mac developer and you want to become an expert in
this invaluable tool then you need this invaluable
book. -- Maurice Kelly
Review