There’s a cool video tutorial for Core Data at Apple’s developer site.
Core Data is a part of the Apple technology toolbox that lets developers define an application data model without writing code. Basically, all they have to do is define an entity/relationship diagram in Xcode (Apple’s “Eclipse for Objective-C”), and they get an object model, GUI bindings, load/save, XML import/export and fulltext search for free. The guy in the tutorial cooks up a simple application with a nice Cocoa GUI in ten minutes or so, which certainly makes for a good demo.
The big picture: I don’t have much interest in actually working with Core Data. The desktop application is a dying breed, and especially data-driven applications belong on the server side.
But Core Data is an example of an important trend in software development: It reduces development cost by building on a high-level data model. Lots of infrastructure work like persistence, serialization, API and GUI access to the data, validation and so forth can be partially or completely automated once you have explicitly mapped out your domain.
Another popular example is Ruby on Rails with its ActiveRecord framework. With ActiveRecord, developers define the data model using a database schema with some conventions and a bit of declarative Ruby code. The scaffolding features of Rails, great for quickly getting a prototype up and running, are one of those nice things you get for free with a high-level data model.
Can RDF be a vendor-independent Core Data? That question is the main reason for my involvement with RDF. It may have the potential to become a standardized data model that transcends programming languages, development environments, and could even ship objects across the web.
In a perfect world, I would define a data model for my application, publish it as RDFS and OWL, someone else could import the data model into their own application, and access my data almost transparently, with RDF or or SPARQL in the background. Man, that would rock.
One good-looking project that goes into this direction is ActiveRDF, a framework that provides very natural access to RDF data from Ruby applications, including Ruby on Rails webapps.
Definitely something to watch.