¿Cómo sincronizan las aplicaciones de escritorio los datos de los servidores en línea?

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.

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.