
Core Data Threading Demystified - astigsen
https://realm.io/news/marcus-zarra-core-data-threading/
======
yAak
Glad to find that this talk included current, good practices for Core Data and
not just a "it's very complicated so you should use Realm instead" style of
talk.

(In fact, the speaker isn't affiliated with Realm and doesn't have much to
recommend about Realm... so I guess, kudos to Realm for publishing the
transcript, regardless.)

~~~
nodamage
Quite the opposite, in fact:

> Q: I’m pretty sure that you are familiar with Realm. I want to know your
> opinion about Realm and Core Data. Should we use one or the other, or which
> one is more suitable for you?

> Marcus: Realm has a few things about it that I’ll discuss. First, my opinion
> on third-party code is well known: all code sucks. I think Realm is trying
> to solve a problem that is the incorrect problem to solve. They’re trying to
> be faster than Core Data, whereas Core Data is trying to be fast enough, but
> maintainable. In my playing and working with Realm, I find that the amount
> of code you write is about equal. Their migrations to me are little bit more
> voodoo than I’d like. They’re trying to be fast, good for them, but that’s
> not what I want. As a project leader or a developer, I want maintainability
> and consistency. My big concern with third-party frameworks is that they go
> away. It happens over and over again. We don’t know how long Realm’s going
> to be here. I don’t understand their business model. Core Data for me is
> good enough; it’s mature, it’s been around long enough, and it’s fast
> enough. If it’s not fast enough, I’m probably doing something wrong because
> I’m in object space anyway. There’s a lot of unknowns about Realm. The
> storage is opaque, for instance, and that make me little jittery. Whereas,
> for Core Data, it’s a known quantity. Apple’s not going to throw it away
> tomorrow. The SQLite is transparent. I can look into the data. I can get the
> data. Even if it does go away tomorrow, I can still look at it. To me, it’s
> good enough, but then again, it’s my hammer. That’s the thing that I use the
> most. Is there anything wrong with Realm? No. Play with it, use it. It might
> be great. But, to me, it doesn’t solve the right problems. It’s not
> significantly better than Core Data to the point where you’d say, “Wow, this
> is so much better, why would anybody use Core Data?” Instead, I see it as,
> “Okay, it’s faster. Awesome. Good for you.” It’s not less code, and it
> doesn’t have the maturity of Core Data yet. Ask me again in a year, I might
> change my mind.

I fully agree with Marcus here, Core Data has its issues but at least they're
well-understood.

------
e28eta
The most frustrating thing for me about CoreData, is this type of thing isn't
included in the core documentation (at least not clearly).

I'm heartened to see that we were pretty close to the "right" way on the app
we built with it though.

