Dropbox Datastore vs. Core Data and iCloud
Tom Harrington on the new Dropbox Datastore API:
The Datastore API may be a good idea if your data model is not highly structured and if your users mostly already have Dropbox accounts. For anything more sophisticated or for non-Dropbox users, probably not. Or at least not without a lot of extra work. The API is by no means a replacement for SQLite or Core Data, but it’s probably enough for many apps.
[…]
Brian explained that DBList uses operational transforms to maintain list ordering in the face of conflicting changes, for example rearranging a list on one device and deleting some items on a different device. So while the class API seems pretty limited, there’s more to the class than it seems at first.
[…]
One of Dropbox’s major selling points when compared to iCloud is that files can easily be shared between different users. There is no sign that this kind of sharing exists for the Datastore API. Data stored this way does not show up like files stored in a Dropbox account. Neither the Dropbox web site nor the API has any sign of sharing options. The API provides a single-user data silo just like iCloud.
[…]
The API for searching the data store is quite simple, maybe too simple. To find records, pass an
NSDictionary
to theDBTable
and you’ll get anyDBRecord
s with the same key/value pairs. Easy! Except... the results need to match exactly. No getting records where a numeric field is more or less than a reference value, no partial string matching, etc. Also, since there’s no relationship support, your query is limited to values on the target table.
Tapbots’s Paul Haddad told Macworld that he didn’t even bother looking at the Datastore API. “I don’t really care,” he said. Because it’s not core Apple functionality, Haddad said, “it doesn’t run in the background,” which makes it far less appealing to him. Even with iOS 7’s improved background functionality, Haddad said, Dropbox won’t be able to match the ubiquitous omnipresent syncing that iCloud affords.