---
title: "Core Data | Skills We Assign For | Azendo"
description: "Core Data on Apple platforms — object graph management, threading rules, and the Azendo roles assigned for it."
url: "https://azendo.co/skills/core-data/"
---

[Skills](https://azendo.co/skills/) Mobile platforms and frameworks 

# Core Data.

Core Data is Apple's object graph and persistence framework. It manages relationships, change tracking, undo and lazy loading over a store that is usually SQLite, and pairs with CloudKit for synchronisation across a user's devices.

## Where Core Data fits on a long engagement.

Core Data is an object graph manager rather than a database wrapper, which is the distinction that explains most confusion about it. It tracks relationships and changes in memory and persists them, and it is powerful in ways a plain database layer is not — and correspondingly unforgiving about how it is used.

Threading is the rule that causes the most production crashes. Managed objects belong to the context that created them and must not cross threads; doing so produces failures that are intermittent and difficult to attribute. The framework provides the correct patterns, and the crashes come almost entirely from not using them.

## What an assigned team does with Core Data.

Core Data expertise is specific and not transferable from general iOS competence. A specialist who has not run a Core Data migration on a large user base will make a reasonable-looking decision that corrupts data for a subset of users.

Building that depth deliberately rather than hoping for it is what the [Talent Success and Academy](https://azendo.co/talent-success-academy/) programme is for.

## What we use Core Data for.

* Complex related data on device Object graphs with relationships that a flat store would force the application to manage itself.
* Sync across a user's devices CloudKit integration so data follows the account rather than the handset.
* Migrations on a large installed base Lightweight and staged migrations planned against real data volumes before release.

## How Core Data capacity is assigned.

Core Data work sits inside iOS capacity under [outsource software development services](https://azendo.co/services/software-development/).

## Roles we assign Core Data for

* [iOS Developer Mobile development](https://azendo.co/services/mobile-development/ios-developer/)

## Service lines it sits in

* [Mobile development](https://azendo.co/services/mobile-development/)

Capacity is agreed as a committed monthly capacity across a discipline, not per skill.

## Related in mobile platforms and frameworks

* [SwiftUI — skill we assign for](https://azendo.co/skills/swiftui/)
* [UIKit — skill we assign for](https://azendo.co/skills/uikit/)
* [Jetpack Compose — skill we assign for](https://azendo.co/skills/jetpack-compose/)
* [Coroutines — skill we assign for](https://azendo.co/skills/coroutines/)
* [Flutter — skill we assign for](https://azendo.co/skills/flutter/)
* [React Native — skill we assign for](https://azendo.co/skills/react-native/)
* [Expo — skill we assign for](https://azendo.co/skills/expo/)
* [Ionic — skill we assign for](https://azendo.co/skills/ionic/)

## Tell us what your roadmap needs Core Data for.

A service delivery manager replies with the disciplines we would assign, the monthly capacity and what the first month looks like.

[All skills we assign for](https://azendo.co/skills/)
