Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Noob here, how does SwiftData compare to Redux (as a paradigm)?


It's not really comparable.

SwiftData is the Swift version of Apple's CoreData, which is pretty much a database ORM.

It's a massive improvement on the old APIs that were written decades ago for Obj-C.


Looks pretty different. Much closer to more modern state management approaches such as Recoil and Jotai.


What part makes you think of Recoil? CoreData (and now SwiftData over it) are more like ActiveRecord in my experience.


Yes, that's CoreData but we're talking about this new intermediate SwiftData layer. If you think of the ORM part as just "storage" the bindings are quite Recoil-like. Take a look at `recoil-sync`, which handles querying and syncing with persistent storage.


I don't get what you're saying here.

Swift Data is just a framework to annotate data structures to be stored by Core Data.

It looks a lot like an ORM.


If we think of CoreData's role here as simply providing persistent storage then the annotation layer is the interesting bit - binding a persisted model to a view via a query is conceptually similar to Recoil's atoms' support for complex fetching, persistence, and offline support.


Thinking of CoreData as simply providing the persistence layer is incorrect. It also provides the schema. CoreData’s object graph management and persistence are separate - you can use CoreData without persistence, but you can’t use it without a schema.

The annotations are for defining the CoreData schema – i.e. the necessary piece – rather than relying on a schema definition file as one would prior to SwiftData.

There are additional syntactic niceties for SwiftUI binding, but the annotations are very much an ORM.


If you need Redux in SwiftUI, you should check out ComposableArchitecture.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: