On Apr 12, 2010, at 10:54 AM, Dru Satori wrote:
One application that can be used standalone, or always on multi-user or with multiple disconnected users synchronizing data when peered. Complex? You have no idea. But in the design process, many decisions had to be made, that meant architecture and implementation. The end result for me? a client server design that uses a multi-user capable database engine even when in stand-alone single user mode. When you start the application, it starts the embedded database engine. While this is massive overkill for most implementations, it is still a very real design, IF your project demands it.
Veering a little off-topic, but have you looked at CouchDB? It's a very cool persistent data store that works either single-user, multi- user, or replicated. It's kind of a fancy JSON-based key-value store with MapReduce based querying, and a fancy sync engine for connecting multiple instances.
I haven't seen any usage of CouchDB by Mac apps yet, but it's already been integrated into Ubuntu Linux's desktop as the underlying shared data store for contacts and calendars and so on — like a combination of the AddressBook and Calendar frameworks and iSync. This is one of the few times I've been jealous of Linux's UI. :)
The CouchDB protocol is pretty easy to work with because it's all HTTP/ REST/JSON. You'd mostly just need NSURLRequest and one of the Cocoa JSON parsers.
—Jens_______________________________________________ Cocoa-dev mailing list ([email protected]) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to [email protected]
