Xcode 4 Unleashed (2nd Edition) Book Review
|Being pretty new to Xcode I found this book to be just the right girth and depth of topics. It covered everything I was looking for, at the right level.|
The book is broken up into five parts First Steps, The Life Cycle of an iOS Application, Xcode for Mac OS X, Xcode Tasks, and four Appendixes.
It covers a ton of topics which are pretty much named by the titles of the chapter, so I have listed them below.
Part I. First Steps
Chapter 1. Getting Xcode
Chapter 2. Kicking the Tires
Chapter 3. Simple Workflow and Passive Debugging
Chapter 4. Active Debugging
Chapter 5. Compilation
Chapter 6. Adding a Library Target
Chapter 7. Version Control
Part II. The Life Cycle of an iOS Application
Chapter 8. Starting an iOS Application
Chapter 9. An iOS Application: Model
Chapter 10. An iOS Controller
Chapter 11. Building a New View
Chapter 12. Adding Table Cells
Chapter 13. Unit Testing
Chapter 14. Measurement and Analysis
Chapter 15. Storyboard
Chapter 16. Provisioning
Part III. Xcode for Mac OS X
Chapter 17. Starting a Mac OS X Application
Chapter 18. Wiring a Mac Application with Bindings
Chapter 19. A Custom View for Mac OS X
Chapter 20. Localization and Autolayout
Chapter 21. Bundles and Packages
Chapter 22. Frameworks
Chapter 23. Property Lists
Part IV. Xcode Tasks
Chapter 24. Xcode 4 for Xcode 3 Veterans
Chapter 25. Documentation in Xcode
Chapter 26. The Xcode Build System
Chapter 27. Instruments
Chapter 28. Snippets
Part V. Appendixes
Appendix A. Objective-C
Appendix B. Some Build Variables
Appendix C. Project and Target Templates
Appendix D. Resources
One of the things I liked about the book is the author started with the use of iOS 4.3 and then moved to iOS 5. He uses iOS 4.3 throughout Part II until he gets to the storyboarding chapter. He then has you port all your work up to that point to work with a Storyboard project. He takes the opportunity to teach you about workspace so you can have more than one project up.
I liked this approach because I am new to iOS programming and having the history built into the examples was good for me to see. More often than not, we aren't starting from scratch doing Greenfield Development, so this prepared me for what I can expect to run into.
Another thing I liked was that the book included the part on Xcode for Mac OS X. Although I am primarily interested in iOS at this point, I found the introduction to Mac desktop development interesting.
All the code is available for download and is organized by chapter. I found it to be very usable with a few exceptions. Like in chapter 10 where the author teaches you how to use the rename refactoring tool, he provides you with the code that has already been refactored. That may have been intentional, but it was confusing.
The author's writing style easily kept my attention and made the book very easy to read. It was a good read cover to cover, but I will also be keeping it handy as a reference especially for Part IV. Xcode Tasks and Part V. Appendixes which cover the build system, Instruments, build variables, snippets, and the project templates.
All in all I recommend this book to anyone looking to learn the Xcode 4 environment including Xcode 3 developers. The short chapter Xcode 4 for Xcode 3 Veterans will get you up and running quickly.
Xcode 4 Unleashed (2nd Edition)