It’s beat up on Core Data week!

If you follow other Cocoa/indie blogs, you probably noticed some posts recently about people that are dropping or avoiding Core Data. I wasn’t planing on jumping in but guess what, ProfitTrain dropped Core Data too!

Brent has performance reasons, but my own reasons are more inline with Manton in that moving forward with my 2.0 I wanted to know more and be more responsible for that layer of the system.

Some backstory. When I started working on Billable I was targeting 10.4 which had just introduced Core Data. At the time I was building my first “real” Cocoa app and wanted to take advantage of anything that I could to make my life easier. Things like Core Data looked delicious.

Early development went well and after the 1.0 release I continued to expand and strengthen the foundation of my app. It was around this point where I started to feel like I was too dependent on black magic. I seemed to spend a lot of time trying to figure out what Core Data was doing and how it worked in order to get performance gains or integrate it with other technologies like AppleScript.

When I started work on ProfitTrain it was the perfect opportunity to re-evaluate all the code that had gone into Billable. Additionally, while there is no iPhone companion to ProfitTrain today, nor is there any formal syncing support; these are two major issues that I think many data-capture apps like ProfitTrain will face in the future. I feel like if I am ever to overcome these challenges I need to have a firm grasp and understanding of my persistence layer.

At the end of the day, I don’t think the benefits of Core Data outweigh the learning curve and the inevitable quirks, such as clunky migrations, you need to deal with. If Core Data brought more to the table like free AppleScript access and/or syncing tools I might have a change of heart. However for me, and the needs of my app as of today, I feel more empowered using SQLite directly through FMDB.

Update February 28, 2010 — Nice to see Core Data still has some love out there. Collin Donnell shares some reasons why he enjoys using Core Date for his iPhone apps.

Posted on: February 27, 2010 – 9:44 PM

Post a Comment | Comment RSS feed

(used for gravatar), address not displayed on site)