EnduroSync da Orando Labs è un nuovo prodotto che fa esattamente quello che stai chiedendo. Ci sono client per iOS e Android, con altri in arrivo.
Full Disclosure: Lavoro presso Orando Labs.
I client EnduroSync consentono di creare archivi dati oggetto sui dispositivi locali. I client sono abbastanza sofisticati: i dati vengono modellati come oggetti nativi per ogni client che supportiamo (iOS e Android ora, altri in arrivo). I clienti lavorano offline e online. I dati vengono salvati in un database SQLite localmente.
Come si cambiano gli oggetti nel modello, i delta vengono registrati sul dispositivo. A un certo punto, è possibile "sincronizzare" l'archivio dati dell'oggetto. La sincronizzazione utilizza un processo di commit/push/pull (come git), ma questo è invisibile per te. La sincronizzazione porta la tua copia locale aggiornata con qualsiasi cosa sia presente sul server e invia tutte le modifiche apportate. I conflitti vengono risolti utilizzando un'unione basata su data/ora, quindi i dati più recenti non vengono sovrascritti dai dati precedenti.
EnduroSync è un servizio online, quindi non c'è alcuna configurazione del server da parte vostra.
Esiste anche un sistema di autorizzazione flessibile che consente di condividere gli archivi di dati degli oggetti in vari modi. Ad esempio, la maggior parte delle applicazioni avrà uno o più archivi dati oggetto per ciascun utente, per preferenze, note, tag, ecc. È inoltre possibile condividere gli archivi dati oggetto per app, per tipo di utente e con caratteri jolly, in molti altri modi.
Quindi in pratica si utilizzano i nostri client SDK per modellare i dati sul dispositivo. La modellazione è con oggetti semplici nel linguaggio di programmazione nativo del dispositivo. Se si firma per il servizio di sincronizzazione, si ottiene anche la sincronizzazione.
Informazioni fuorvianti/non aggiornate. Guarda altre risposte. –