In this article

Welcome to objc.io issue #10!

This issue is all about data synchronization and network communication. It’s a world of connected devices out there. We all own multiple devices, and making our data available on all of them has become very important. Yet syncing is inherently difficult to solve well.

Here, we will try to help you get a better grasp of the problems involved. First off, to get you started and help you understand the domain, we have an overview of the possible approaches and their challenges by Drew McCormack. After that, we take a closer look at Apple’s iCloud syncing solutions. In particular, iCloud Core Data sync has received a lot of attention and criticism, and it was deemed unusable by many developers. Matthew Bischoff and Brian Capps give us an update of the state of iCloud Core Data, and Friedrich Gräter and Max Seelemann take a closer look at iCloud Documents.

We also have an example of a custom syncing solution on top of Core Data, which goes into detail of a specific solution, and an article on how to structure a simple networking application with Core Data, which helps by pointing out how to get some of the basics right. If you’re up for something more low level, this issue also has a thorough fundamentals article on TCP/IP and HTTP – the technology that most of our network communication relies on.

We’ve created a new public repository on GitHub that contains all current and past objc.io articles. If you find any mistakes or have suggestions for improvements, please don’t hesitate to file issues, or even better: submit a pull request!

All the best from Berlin,

Chris, Daniel, and Florian.