Hay varios métodos para hacerlo.
- Cliente-servidor: la aplicación le pregunta al servidor sobre todo. Nada se salva.
- Solicitar caché: igual que el cliente-servidor anterior, excepto que la información relevante se almacena en caché para proporcionar un acceso más rápido
- Datos sincronizados / fuera de línea: ese es el que realmente está preguntando. Hay dos formas de hacerlo. Una API de sincronización o una base de datos de sincronización.
Con una API de sincronización, la aplicación obtendrá datos del servidor al igual que los dos anteriores. Y también puede combinarse con los otros enfoques, por eso los mencioné. Luego, la aplicación conservará los datos de recuperación en alguna estructura de datos dentro de la aplicación, que podría no tener nada que ver con la forma en que los datos están estructurados en el servidor.
La alternativa es una base de datos que se sincroniza. Un par popular es Apache CouchDB y PouchDB. Se comunican mediante el protocolo de replicación CouchDB, que es popular y simple. Algunas otras bases de datos también usan esto.
- ¿Cuál es tu aplicación favorita de bitcoin / criptografía?
- ¿Cómo puedo deshabilitar los datos de ciertas aplicaciones en el iPhone 7 (aclaración en los comentarios)?
- ¿Cuáles son las principales aplicaciones de eBook / eReaders móviles de China?
- ¿Cuáles son algunas de las mejores aplicaciones que cada persona debe tener en su dispositivo móvil para el desarrollo personal?
- ¿Cuáles son las aplicaciones útiles que deben estar en su teléfono?
De esta forma, los datos siempre están sincronizados, o lo estarán una vez que la aplicación vuelva a estar en línea.
Lo más simple es sincronizar bases de datos, si están construidas para ello. Sin embargo, es posible que no desee 24 GB de datos del servidor en cada cliente. Muy a menudo se diseña una solución híbrida.
Nadadores sincronizados. Más difícil que los servidores sincronizados.