5 ms·
LOVE this. I've dealt with the pain of multiple CoreData contexts in different threads and ugggh. This was easily the longest part of our Streak app development
by alooPotato 12y ago
LOVE this. I've dealt with the pain of multiple CoreData contexts in different threads and ugggh. This was easily the longest part of our Streak app development, as we needed it to be fast, offline, and fully synced. This is definitely a way better API that accomplishes the same thing as CoreData. If its actually faster too, wow, just amazing.
One question - CoreData works really well with built in UIViewControllers like TableViewControllers. Any chance you'll be releasing some code that makes wiring up changes in the models to the controls that are displaying that data?
- alooPotato 12y agoSorry one more question - Android?
- timanglade 12y agoAndroid is coming! We have an internal build that’s almost at parity with iOS but still needs a bit of tuning and is missing a few key features like Migrations. We’ll work to release & open-source it soon. You can register to be notified of that [0]. [0] http://realm.us5.list-manage1.com/subscribe?u=2aab5198c2f56be1004466570&id=245830894c http://realm.us5.list-manage1.com/subscribe?u=2aab5198c2f56b...
- alooPotato 12y agoAwesome. As good as Realm looks for iOS, I think it might be needed more in Android as there are no really viable alternatives other than using sql lite directly.
- brmunk 12y agoAndroid is in the works! You can signup to be notified of progress : http://realm.us5.list-manage1.com/subscribe?u=2aab5198c2f56be1004466570&id=245830894c http://realm.us5.list-manage1.com/subscribe?u=2aab5198c2f56b...!
- timanglade 12y agoThanks for the kind words! Regarding wiring this to a TableViewController, we have some code samples already for Swift[0] and Objective-C[1]. Right now you get notified of changes and refresh, but we’re very interested in exposing a reactive-style binding mechanism as well. The storage engine underneath supports that very well actually, so stay tuned… [0] https://github.com/realm/realm-cocoa/tree/master/examples/swift/RealmSwiftTableViewExample [1] https://github.com/realm/realm-cocoa/tree/master/examples/objc/RealmTableViewExample
- Maarten88 12y agoWhat about support for Windows Store and Windows Phone? Those platforms need something like this too.
- timanglade 12y agoAbsolutely! We’ll be working towards this as fast as possible. We already have support for .Net on an internal repo but crafting a great API & performance is a long process.
- barumrho 12y agoThe main benefit of using CoreData is seamless faulting behavior. It's not obvious from the example or the site that Realm supports something comparable. How does Realm deal with a lot of objects?
- astigsen 12y agoRealm does not have a concept of faulting like Core Data does. In Core Data every object is essentially a copy of a representation in the underlying data store (usually sqlite), so instantiating the object is quite expensive as all the properties have to be retrieved and copied into the object, and before you have done that it is very limited what you can do with the data. In Realm the object you see is a direct representation of the underlying data, it does not have to copy in all the properties. When you access them, it is the property directly from the db you are getting, not a copy stored in the object. This means that it takes up a fraction of the memory space, and it also means that queries and similar operations can work on the objects directly in the db, without having to instantiate them in objective-c. This means that you can easily scan over millions of objects, without causing a single "fault". When manually traversing objects you still have to instantiate them, but since they don't have to copy any data, it is a far more lightweight process than faulting.