A persistence abstraction layer for iOS that simplifies Core Data usage and enables easy migration between persistence frameworks.
JustPersist is an iOS library that provides a unified, transactional interface for persistence operations, primarily built around Core Data. It solves the problem of tightly coupling an app to a specific persistence framework, making it easier to migrate to alternatives while maintaining thread safety and a clean architecture.
iOS developers working with Core Data who need to abstract their persistence layer for maintainability or plan to migrate between frameworks like MagicalRecord and Skopelos.
Developers choose JustPersist for its safe, transactional API that prevents common threading pitfalls and its unique ability to facilitate low-effort migrations between persistence frameworks without rewriting entire data layers.
JustPersist is the easiest and safest way to do persistence on iOS with Core Data support out of the box. It also allows you to migrate to any other persistence framework with minimal effort.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses transactional blocks to separate reads and writes, enforcing thread safety by executing reads and sync writes on the main thread and async writes on background threads, preventing common Core Data issues as outlined in the thread-safety notes.
Provides wrappers for MagicalRecord and Skopelos, allowing minimal code changes when switching persistence frameworks, demonstrated in the migration section with step-by-step Objective-C examples.
Supports child data stores for complex operations, enabling rollback or merge into the main store, useful for user journeys like product additions to a basket as described in the child data store section.
Abstracts Core Data behind a consistent interface with DataStoreItem protocols, reducing coupling and making the codebase more maintainable, as shown in the usage examples for readings and writings.
The library is explicitly marked as deprecated and archived by Just Eat Takeaway, with a warning in the README, meaning no future updates, bug fixes, or support, making it risky for new projects.
Only includes built-in wrappers for MagicalRecord and Skopelos; for other frameworks like Realm or custom solutions, developers must implement their own data stores, adding complexity and effort.
Requires wrapping all persistence operations in blocks, which can be cumbersome for simple apps or if not aligned with the transactional model, and may introduce unnecessary abstraction for straightforward Core Data usage.