- Paperback: 300 pages
- Publisher: Pragmatic Bookshelf; 1 edition (Dec 2 2012)
- Language: English
- ISBN-10: 1934356948
- ISBN-13: 978-1934356944
- Product Dimensions: 19 x 1.9 x 22.9 cm
- Shipping Weight: 590 g
- Average Customer Review: Be the first to review this item
- Amazon Bestsellers Rank: #3,183,420 in Books (See Top 100 in Books)
iOS SDK Development Paperback – Dec 2 2012
No Kindle device required. Download one of the Free Kindle apps to start reading Kindle books on your smartphone, tablet, and computer.
To get the free app, enter your mobile phone number.
About the Author
Chris Adamson is a writer, editor, and independent developer specializing in media software development for iOS. He maintains a corporate identity as Subsequently & Furthermore, Inc. and writes the [Time code ]; blog on media software development, as well as tweeting as @invalidname.
Bill Dudney is a husband, father, coder, and teacher. He has been doing Objective-C since 1989 when he first encountered a NeXT cube, and has several apps on the store through his company, Gala Factory Software LLC. When he is not writing books or teaching people about iOS, he likes to ski and hike in the high country of Summit County, Colorado. You can connect with him on Twitter at @bdudney.
|5 star (0%)|
|4 star (0%)|
|3 star (0%)|
|2 star (0%)|
|1 star (0%)|
Most helpful customer reviews on Amazon.com
Unfortunately, it often misses the forest for the trees. In their rush to explain the next code snippet, the authors often gloss over important concepts and even object names. The verbosity and obscurity of ObjectiveC/Cocoa code is so hard to parse visually (even for experts in other languages) that it's very important to explain not just what the code is doing, but why, and what other design alternatives we had. While their explanations are often satisfactory, they're often not, and even more often are said parenthetically or after the fact. And even their toy app is complex enough -- what with all the callbacks and interfaces and outlets and delegates and notifications and such -- that a few entity relationship or sequence diagrams would have been a great help. Instead, all we got were prose and code and screenshots.
I found myself reading along with the Apple documentation (e.g. [ ... ]l ) while (and ultimately, prior to) reading each chapter and found that Apple's tech writers provided the clarity and context missing from this book. OTOH, this book provided the step-by-step code samples missing from the Apple docs.
The books starts off with a nice introduction to Xcode by building a small twitter application using the new iOS 6 Social framework. The twitter application is used as the example in the first 3 chapters and then the rest of the book builds a recipe application.
I have listed the chapters below to give you an idea of the topics covered throughout the book.
Tweetings, and Welcome to iOS 6
Programming for iOS
Asynchronicity and Concurrency
Storyboards and Container Controllers
Documents and iCloud
Drawing and Animating
Testing and Fixing Apps
The App Store and Beyond
Wait! I Forgot (Or Never Learned) C!
To me this is not a reference book, but rather a great cover to cover read. There are a lot of books that I don't get far with that are hands on building of an application from start to finish, but this one really kept my interest. The applications being built are at the perfect level of complexity to introduce a ton of topics, but do not bog you down with a bunch of domain knowledge. I hate the books like this that spend 50% of the book explaining the non-technical what and why of what you're building.
I found the chapter on storyboards very cool. The authors take the recipe application built using a pre-iOS mindset using nibs up to this point in the book, and converts it to a storyboard application. They reuse all the view controllers built so far. This is a great chapter for showing the power of the MVC pattern used throughout iOS development.
The chapter on Documents and iCloud does a great job of introducing persistence by implementing the NSCoding protocol. There is no Core Data coverage in this chapter or the rest of the book. I also could not get the iCloud samples from this chapter to run, but I did not spend much time on trying to get it to work.
The chapter on testing provides a nice introduction to unit testing, debugging, and performance testing using Instruments.
I think a reader should have some experience with C or Objective-C before reading this book. Like I said above the authors have a very no-nonsense approach. But I would recommend a little more experience than what the author's put into the Wait! I Forgot (Or Never Learned) C! appendix. C in 7 pages is a bit to no-nonsense!
Over all I found the book a really enjoyable read. I definitely recommend it to anyone that wants to learn iOS through a hands on experience. This book will give you a great foundation to start building on.
Overall, I benefitted from this book, but I think readers would be better off if a few changes were made. The authors do a good job of including relevant examples that many of today's apps use, such as those examples involving sending tweets and iCloud. This was great because I could actually implement what I learned into an app and have it be a useful feature. It would be great to have more of these kinds of examples (MapKit?) so that I can walk away from the book with the ability to add commonly used features into an app. Also, the authors routinely provided explanations of why they did something in a particular way which helped me to understand their thought process as they were writing the code.
On the other hand, some topics should be explained in terms that are easier to understand. For instance, the section on Instruments did not provide enough background for me to have a true understanding of how it works. Concepts like these deserve to be allocated more pages so that straightforward explanations can be offered.
In all, the book was helpful to me and I am more knowledgeable as a result of reading it. The authors should continue to focus on choosing relevant examples and ensure that they provide clear, easy to understand explanations of advanced concepts.