Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

iOS Build a Self-Destructing Message iPhone App Designing and Starting the App Specifying Features of the App

Dillon Auxier
Dillon Auxier
3,065 Points

Difference between Parse and Core Data

Hey guys, I've been programming for about a month now and I'm finally starting to put some of pieces together. Still have a long way to go, but I will be persistent. Anyways, one of the concepts I am still a little fuzzy on is the difference between a 3rd party server like Parse vs. utilizing Core Data. This may be a stupid question, but like I said, I am new. My ultimate goal is to build an app that consists of users (being able to signup/in with fb or email) that have to ability to have a "favorites" section (will be tab bar app). What they would be favoriting is more elaborate profiles of establishments (like a Yelp! concept). Which tool would be better for this type of application? Any feedback would be greatly appreciated. Thanks.

4 Answers

Core Data and Parse often go hand-in-hand. Core Data is a way to save data to the device for use later - basically a database that is unique to your app. The data will persist across application launches though, which is really nice. Core Data lets you store almost anything - you just have to give it a schema for the kind of data you want it to store, and Core Data will store it. The downside is that because it's so flexible, it takes a lot of configuration. Take a look at this tutorial for a great overview of Core Data and how to get it up and running (it should still work even though it's for iOS 5). The general idea, though, is that, like a database, you can create records, fetch records, update records, and delete records stored on the device.

Parse, on the other hand, is a BaaS, or backend-as-a-service. It provides a server for your app to talk to, which means that you can have a central "repository" of data for all your users, or send data between different users, among other cool things.

One way you could use both Core Data and Parse hand in hand for the app idea you're describing is you have all of the places the user could ever possibly favorite on Parse (and your app fetches them whenever it needs them). Then, when a user favorites a location, your app stores it locally on the device in Core Data and marks it as a favorite. That way a user can view his or her favorite places even when they don't have an internet connection!

P.S. apparently on Android, Parse takes care of basic local storage for you! They say they're working on an implementation of it for iOS :)

Parse.com would be the perfect solution for your app, It has the ability to add users, make relations between them and other features any social app needs. for more information check "Build a Self-Destructing message iPhone app" course.

Dillon Auxier
Dillon Auxier
3,065 Points

Thank you! Yea I've been referencing it. I just don't fully understand core data so I was making sure it wasn't essential for the development of the app.

Dillon Auxier
Dillon Auxier
3,065 Points

Nick! Thank you. Makes a lot more sense to me now. Really appreciate it.

No problem! Glad I could help.