I currently have a web based application using cherryPy, PostgreSQL & SQLalchemy. I've been using it for years but am looking at developing an iOS app with a database on the device for locations with poor or no wireless net connection.
On the iPhone or iPad, Core Data seems the way to go.
My database has twenty tables, the largest one has 75k rows. Small set of users, four users.
I'm pondering where and how to make the syncing happen and what should be the master database.
A: Create a Core Data application on my Mac that synchronizes to each iPad or iPhone via iCloud. Advantage: I can leverage iCloud on each iOS device, having Apple figure out optimizing communication on the iOS devices. And on the Mac I can use the same Core Data model as the iOS devices. Disadvantage: trying to write a Mac App that can communicate with four different users' iCloud accounts. Working around Core Data's single user design. Also still have to sync between Mac and Postgresql databases.
B: Leave the online PostgreSQL database as the master database. Write some kind of REST app on the server to sync with the Core Data apps on each device. But what kind of format to use? JSON? XML? I'd be saving syncing for periods when I have good net connections and/or a charging device on the iOS device I think.
C: ???
Any advice from someone who's done this before?