I’m looking to create software for Mac which is the front-end for a locally-created database.
What’s the best way for me to do this in Cocoa?
Some more information:
- The database will start simple, but eventually be fairly complex (I have 2-300 tables in my projected schema).
- I want to save the database as a file (or bundle), so that from the user’s perspective it’s just a document.
- I’m really just starting out with Cocoa, should I’d like to use a method that has a decent learning curve (so probably something built-into cocoa)
- Potentially this would have to be distributed through the mac app store (sigh)
Thanks for any advice.
Core Data is an option, but it’s not without trade offs. It’s more or less a single-user solution. You can write multi-user apps with it, but unlike (say) Oracle or PostgreSQL, which are client-server from the start, you’d have to write your own server app that would marshal the client requests. It also (intentionally, by design) makes it difficult to gain direct SQL access to the underlying data store.
On the other hand, the learning curve is easy, and it’s part of Cocoa and well-integrated into the standard document-based architecture.