Core Data
, разработанный Apple для постоянного хранения данных на своих платформах, эффективно работающий даже с очень большими объемами данных, используется очень давно, с версии iOS 3
и macOs 10.4
, так что прошло где-то порядка 10 лет с того момента, когда Apple впервые представила фреймворк Core Data
. Когда это произошло, языка программирования Swift
вообще не было в проекте, так что Core Data
была спроектирована с ориентацией на Objective-C
и, конечно, это отразилось на её API
.
Но на WWDC 2019 был впервые представлен
SwiftUI
, который предложил нам новую парадигму конструирования UI
, он был предложен для iOS 13
и полностью опирался на Swift
, его корни — это Swift
, хотя он использует UIKit
“под капотом” и полностью зависит от UIKit
на iOS
, по крайней мере на данный момент, и от AppKit
на macOS
. Конечно, он это скрывает, как только может, он сконструирован и реализован с прицелом на Swift
. Более того, Swift
сам был существенно доработан с целью поддержки SwiftUI
и стал ещё более мощным и интересным.Но дело даже не в возрастном различии фреймворков, a в том, что
Core Data
принципиально связана с объектно-ориентированным программированием ( классы, наследование, делегирование и все такое), a суперсовременный SwiftUI
основан на декларативном функциональном программировании (структуры, протокольно-ориентированное программирование) и имеет реактивную природу, которая воплощается в использовании архитектуры MVVM
.