You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In September 2024, Mongo announced that "Atlas Device SDKs" (or "Realm" as it was known before some idiot product manager got involved in branding) has been deprecated. The sync service that was Realm's biggest selling point is also officially deprecated and will shutdown on 30 September 2025.
The Future of Realm is No Future
Mongo states that Realm is open source and will remain so. However, to my knowledge, the only people with the experience needed to maintain and evolve Realm are Mongo employees. Realm is not small. It is insanely complex and finely-tuned. Without financial backing, there is nobody who can keep the project from becoming stale and progressively falling farther and farther behind the state of the art.
Sync Was the Killer Feature
Sync was the thing that set Realm apart from everything else. Without this component, the modern @Model macros in the first-party Swift Data Framework provide the same "live object" feature that a local Realm has, which means using Realm instead of Swift Data has zero advantages. You're better off relying on the first-party framework provided by Apple, since that won't disappear at the drop of a hat.
Alternatives
I'll update this list as I find them. If you have suggestions, please add them in the comments and I'll edit this post. Right now, there are:
Firebase. This is a Google product and Google is famous for killing products. After this fiasco with Mongo, vendor lock-in is the last thing anyone wants. I'd skip this option.
Postgres Replication. It should be possible (albeit complex and error-prone) to set up a master Postgres database on a server and then use WAL replication to keep local copies of that database (on client devices) in-sync. This probably doesn't scale to more than a few hundred clients, max. I haven't tested it.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Context: Realm is Discontinued
In September 2024, Mongo announced that "Atlas Device SDKs" (or "Realm" as it was known before some idiot product manager got involved in branding) has been deprecated. The sync service that was Realm's biggest selling point is also officially deprecated and will shutdown on 30 September 2025.
The Future of Realm is No Future
Mongo states that Realm is open source and will remain so. However, to my knowledge, the only people with the experience needed to maintain and evolve Realm are Mongo employees. Realm is not small. It is insanely complex and finely-tuned. Without financial backing, there is nobody who can keep the project from becoming stale and progressively falling farther and farther behind the state of the art.
Sync Was the Killer Feature
Sync was the thing that set Realm apart from everything else. Without this component, the modern
@Model
macros in the first-party Swift Data Framework provide the same "live object" feature that a local Realm has, which means using Realm instead of Swift Data has zero advantages. You're better off relying on the first-party framework provided by Apple, since that won't disappear at the drop of a hat.Alternatives
I'll update this list as I find them. If you have suggestions, please add them in the comments and I'll edit this post. Right now, there are:
Firebase. This is a Google product and Google is famous for killing products. After this fiasco with Mongo, vendor lock-in is the last thing anyone wants. I'd skip this option.
Postgres Replication. It should be possible (albeit complex and error-prone) to set up a master Postgres database on a server and then use WAL replication to keep local copies of that database (on client devices) in-sync. This probably doesn't scale to more than a few hundred clients, max. I haven't tested it.
https://www.reddit.com/r/mongodb/comments/1fctjgc/device_sync_alternatives_discussion/
Other Discussions
As I find relevant discussions in other places, I'll update this link list. Hopefully some ideas emerge as everyone abandons the Titanic:
https://www.reddit.com/r/androiddev/comments/1fcsl5f/atlas_device_sdk_sync_is_deprecated_formerly/
https://www.reddit.com/r/mongodb/comments/1fcsemu/mongodb_realm_deprecation/
Beta Was this translation helpful? Give feedback.
All reactions