|
|
|
|
|
by rikkimaru
3555 days ago
|
|
Switched from CoreData to Realm for a database-heavy communications iOS app. Been using it for about 6 months, so not an expert, but I've done some interesting stuff with it :) Main benefits I saw: * faster performance
* simpler multi-threading
* built-in encryption based on ios' commoncrypto (fips 140-2 module)
* fast response time to questions on github (in 3 cases)
Main drawbacks: * no icloud syncing. I need to check out the new syncing stuff...
* new-ish database so does not have ALL features (e.g., multi-process encrypted access). They appear to work quickly to implement features the community cares about.
* performance is fairly "magical". I understand normal database query performance, realm is different...
* No in-place VACCUUM-type functionality. I've had issues with the realm database file growing unexpectedly large.
|
|
In response to your drawbacks there: * Definitely try out the Realm Mobile Platform. We're also looking at leveraging CloudKit to seamlessly authenticate all devices belonging to a user. * Multi-process encryption wasn't possible until relatively recently (Issue #1845 on our newly open-sourced realm-core project!), so we'll definitely be looking at it from now. Please do thumbs-up any of our GitHub issues for features that you would like. * We've published articles on how the Realm Core works in the past, but now that it's open-source, you can go and see the code for yourself! * It's possible to generate compacted copies of Realm files, so you can implement this functionality yourself if you need it. We've had long discussions about whether this should be an automatic feature, but we feel in most cases it would be premature optimization.