Comments (6)
I don't think Realm is a good candidate for this. The example that Apple gave for this custom storage engine was a JSON file. "Translating" Realm's storage engine to SwiftData on-the-fly seems like it would destroy many features: live objects, lazy-loading of the data behind objects, etc. And the extra layer of abstraction seems like it would murder performance and make debugging even more of a nightmare.
The sad reality is that Apple screwed up. They should have bought Realm before Mongo did and they should have integrated it as a first-party replacement for Core Data. They should have recognized that, in the modern world, developers want a data persistence framework that is available EVERYWHERE--not just on Apple platforms.
Tying yourself to SwiftData is a mistake. You're hamstrung to Apple's platforms, you'll get updates and bug fixes exactly once per year, at WWDC, and most of those will be unusable for a long time because you'll have to target a new version of iOS/macOS/watchOS, but your users won't be on that version of the platform for years.
By contrast, Realm updates every few weeks, you can adopt those updates immediately, and you're never tied to a single platform--use Realm anywhere you want; there are SDKs for everything.
Kick Apple's data persistence nonsense to the curb.
from realm-swift.
➤ PM Bot commented:
Jira ticket: RCOCOA-2390
from realm-swift.
My RealmSwift-using code has zero portability so I'm not sure what you mean about multi platform availability being key?
from realm-swift.
@aehlke Let's say you have a simple "todo" app. You want to create an iOS version, an Android version, and a web app version. If you use Swift Data and CloudKit for your app, good luck building on the latter two platforms. By contrast, Realm has an SDK for each and it talks to the same source of truth in the cloud.
from realm-swift.
Oh I see - I don't use Realm's cloud services (I have Realm automatically background syncing with CloudKit + my own servers)
I'm hoping https://skip.tools prioritizes the ticket for porting RealmSwift usage to Android
from realm-swift.
Related Issues (20)
- Crash when using RealmSwift with multiple modules (ver 10.49.1) HOT 1
- Issue with Nested Bundles and Disallowed Files When Archiving with Realm-Swift HOT 1
- Doesn't work with cocoapods HOT 3
- Add Sync tests for Collections in mixed HOT 1
- Code sign XCFramework HOT 1
- Realm 10.51.0 not available in SPM HOT 3
- Add append function to `@ObservedSectionedResults` HOT 1
- Crashing 100% when using @available(..., *) for a dynamic library in ObjC HOT 3
- Xcode 16: Write Blocks Risk Data Races Warnings HOT 11
- Update all uses of _unsafeInheritExecutor to use #isolation instead HOT 1
- Code sign our published xcframeworks HOT 1
- Update Binding for iOS 18's API changes HOT 1
- Switch to building RealmSwift in Swift 6 mode HOT 1
- Investigate explicitly built modules for RealmSwift HOT 1
- Add support for logging categories HOT 1
- After upgrading to 10.52.0 our app crashes on launch when we attempt to observe a collection HOT 4
- App crash for iOS 12 using 'RealmSwift', '~> 3.20.0' HOT 5
- Delete Realm if file is an unsupported version HOT 1
- Is it possible to fully deallocate the Memory used by Realm HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from realm-swift.