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áles son las aplicaciones de lista de tareas más interactivas en dispositivos IOS?
- ¿Por qué algunos dicen que HTML5 superará las aplicaciones móviles nativas en el futuro?
- Un desarrollador me dijo que me pueden pagar por vender mi gameidea a su compañía de aplicaciones. ¿Es estafa? Su compañía tiene una reputación bien conocida en el mercado.
- ¿Cuáles son algunas aplicaciones de marketing de proximidad?
- Cómo obtener una aplicación para traducir inglés a cualquier otro idioma
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.