It depends in so many factors, such as how many records you will have, if you need to be able to work offline, and so on.
I have an App (private) that shared a large number of records using CloudKit and a local cache with coredata. Now I'm dividing that App in multiple Apps and I thing I will use a mix between full synchronize tables and cache tables, all sharing the same record zone.
I would recommend that you start using only CloudKit, then you can start adding coredata for cache, if you realize that you need it.
Topic:
UI Frameworks
SubTopic:
SwiftUI
Tags: