Books

Your First Swift App

An introduction to building iOS apps with Swift, this is the third edition of a book I originally kickstarted in 2013. It introduces readers to the fundamental concepts of building their first iOS application, through the process of building my first app.

From the very first Xcode project to the App Store submission process, the book covers tasks that are common in iOS application, like table views, user interaction, and even Core Data. The book instructs readers on the process of development, not only on specific syntax or APIs. This gives readers the tools they need to continue to learn and grow towards becoming accomplished iOS developers.


UICollectionView: The Complete Guide

I’ve worked with Addison-Wesley to publish two editions of this book to date, which describe in complete detail how to effectively use collection views in iOS applications to build unique, immersive experiences. Unlike many technical books, mine covers the how and the why of using this technology. More details available.


Functional Reactive Programming on iOS (Retired)

Functional reactive programming is declarative programming paradigm used to simplify complex, asynchronous tasks. You can read about the history of FRP, and its philosophy on the ReactiveCocoa website.

In this book, I introduce readers to ReactiveCocoa, an FRP framework for Objective-C. The book first covers the philosophy of functional programming, then guides readers into real code examples. ReactiveCocoa is used through the remainder of the book guides readers through implementing real-world use of FRP. Finally, we discuss Model View ViewModel, a way to structure code with FRP that increases testability and code reuse.

Note: this book relied on the 500px API, which was shut down in June 2018. I have retired the book officially. If you’re interested in functional reactive programming, check out this book I contributed to from Ray Wenderlich.


Other works include a earlier editions of Your First Swift App titled Your First iOS App, and Beginning Objective-C which I co-authored with Jim Dovey.

In addition to writing books for iOS developers, I provide technical review for other books. I’ve collaborated on the following books: