I’ve decided to take a break from Buck & Yacktman’s book, since I’be been studying Marcus Zarra’s Core Data book.
Core Data is a fundamental technology behind a variety of OS X and iPhone applications. It’s a system for persisting data on disk, in a fashion that’s convenient for software developers while retaining more than enough generality for the vast majority of applications. The data can be stored on disk in XML, SQLite or binary formats, and I agree with Marcus that the human-readable XML format is great for development, while SQLite can give higher performance for production versions of an application.
It’s not hard to learn the basics of Core Data from the Apple tutorials, but I haven’t been confident of going farther on my own, for doing things like migrating data from one version of a program to another. The Core Data book explains how to do that, as well as covering how to use Core Data in multi-threaded and distributed applications. I’m especially interesting in versioning and distributed storage for one of my own apps, BugTracker, an issue tracking database.
Chapter 1 is mostly introductory material, introducing the author, explaining what Core Data is, and acknowledgments of people who helped with the book. Chapter 2 starts the actual meat of the book, a recipe database program.