iOS and OS X programming books – Book Review

With success stories you’ve heard on the App Store for both iOS (Angry Birds comes to mind) or the Mac App Store (Pixelmator is a good example), you may be tempted to risk your own time and money to follow their success. In this review, I focus on two type of books. The first two books are about building a good business plan, while the last three will go deeper into the technology you need to build that app and put it for sale.

You will probably learn that it sounds easier than it really is, but nothing is impossible. Also note that for programming books, they are almost obsolete (or are missing last key features) the day they get on the shelves. So consider them as starter course, and not as the all you can eat menu.

If you are serious about developing apps for the App Store, this is a book you should read first. It is a very analytic one that will help you understand the mechanics of the App Store and consider how you can become successful with it. It has a lot of numbers and analysis on the app business, and is certainly a must read before you invest any dollar or time into an app development. When, from an outsider point of view, we see success such as Angry Birds or any other app, it must look very tempting to try it and see if we can make money out of this new business model. But I have to say, after reading this book, commercial app development became something I would consider twice before jumping in.

The author of this book, which is also the creator of Alice for iPad, takes an interesting journey to understand app success on the App Store. The first part of the book tells us many facts on how the App Store came to be, from iTunes to the Motorola Rokr, to what really started it all: the iPhone and its first hackers. The second part discusses the success and failure of five specifics developers, including the ones for Doodle Jump and Angry Birds. The third part is “The App Revolution” which explains how how the App Store changes the world around us. It is interesting and fun reading, an historical and philosophical view of how the apps changed the cellular and portable devices industries. It focuses mainly on gaming, and I would have appreciated more examples on non-gaming successful apps.

If you are ready to start on a development project, you may need to learn the programming language used on OS X and iOS: Objective-C. This book will take any non-programmer to a level acceptable to create a first program in Objective-C. Most of the book is related to the language itself and the basic statements, rules, conditions, and loops that you need to understand to become a programmer. It is very extensive in that regard. The book’s last few chapters enter the world of the Foundation classes (which is the core of Cocoa/Cocoa Touch programming) and teaches you how to create a first iOS app. It won’t get you into becoming a good iOS or OS X programmer, but before getting there, you need to understand the basics, and it accomplishes this task very well.

This book teaches iPad programming for iOS 5. It is a very complete work on how to build an app for this OS. The first section is about learning Xcode, Objective-C, Cocoa, and preparing your iPad (the device itself) to test your app. The second part will keep you busy creating PhotoWheel available on the App Store for free. They will show you how to prototype your app, then add features to it as you go. It covers a lot of topics, such as: accessing the iPad Photo app, using web services via Flicker integration, incorporating iCloud sync, AirPrint, managing device rotation, sending email, showing slideshow with AirPlay, and adding visual effect with Core Image. It ends up with how to prepare your app for the App Store. In summary, you should be covered for iPad development with this book. Because it covers iOS 5 only, it misses some new improvements made by Apple on iOS 6, such as the new way of supporting device rotation that was presented at last year’s WWDC.

This book focuses on one technology provided by the Cocoa frameworks, Core Data. The book explains the technology and how to use it in almost every way possible, even including data migration, if necessary, in the last chapter. It talks about the usage on Mac (OS X) and on iOS on both iPad and iPhone with well described examples and code. Most screenshots are of the programs created as examples or of the development environment Xcode. I think it would have been nice to have high level diagrams of what was going to be accomplished. Nonetheless, if you’re thinking about developing an app that uses data, you will appreciate all the details and examples in the book. I’ll end by saying that you will probably need more than 24 hours to learn this amazing technology.

Steve is a computer geek, and he has been for many years. He has studied computer science for 15 years, with a college degree in computer science, a backchelor degree in computer with a minor in mathematics, and a Master degree in computer science. In high school he was initiated to computer on an Apple II, then his parents bought him a Commodore 64, then a Mac Plus. But in computer science, DOS and Windows PC were used mostly, so he switched to the dark side for a while. In 2000 he began doing some photography, then discovered iPhoto which make him come back to the Macintosh in 2002. Since, he became a Mac geek again and he sure won't turn back to the PC.