Фреймворк
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
.