---
I've been working on a comic reader app for iOS for about 3 years (http://icomics.co). Up until last year, I was using Core Data to persist both metadata information for each comic, as well as per-page caching information to disk.
Unfortunately, Core Data hit a breaking point with me (I encountered a rather catastrophic data corruption issue when trying to get it to perform automatic schema migrations :( ) and, initially as a feasibility test, I decided to try migrating the whole solution over to using Realm. If it wasn't up to the task, my backup plan was going to have been moving to raw SQLite (and all the boilerplate code that that would have required).
Suffice it to say, I was more than impressed with Realm. Since it more or less followed the same objects model as Core Data, porting my apps entire data implementation over to it took less than a single evening of work. The API was ridiculously easy to learn, and I found it much easier to pass data between threads than what I was needing to do to achieve the same result in Core Data. It was also VERY satisfying deleting giant swaths of Core Data code. ;)
I was so impressed with the whole process that after that, I held a talk on it at a local iOS meetup in my city. Afterwards, I uploaded the talk as a video to YouTube (https://www.youtube.com/watch?v=cGptaE2_WEQ) and it was thanks to this video that Realm found me, and how I joined the company. :)
Realm's been in production use in my app for 5 months now, and I can safely say it's performed above and beyond my expectations. For iOS projects, I definitely recommend it. :)
It basically provided everything i needed out of the box, and i have dictionaries with 250,000 - 400,000 words that returns BEGINSWITH queries sorted by most used words faster than anyone would be able to type. (below 20ms on an iPhone 5)
I had actually implemented everything in CoreData (sqlite) at first, but when i fell over Realm i gave myself a couple of hours to test it out, and haven't looked back since. It has a really small API surface, so if you're considering to use it I would definitely recommend you to try it out, it wouldn't take a long time to find out if what you need is available.
No inheritance. No nested transactions. No RxJava support (due to threading issues with Realm). Many annoying random errors (for example, get a row then close the DB connection -> You can't use those results after. Although I believe that this is by design because Realm doesn't cache any data - it queries every time it's requested AFAIK).
It's definitely on the way to being an awesome asset, but it's not there yet!
We seriously love to get the feedback so we can prioritize the additional features our users desire the most.
That said, we are very encouraged to see that the current features satisfy a lot of "non-toy" apps as well and that many thousands developers are building new apps every week.
You can see some of them mentioned here: http://realm.io/users/, and at the end of that page is also some unedited interviews with developers.
/Brian from Realm