Estoy escribiendo una aplicación para iOS que usa datos proporcionados por un servicio web. Estoy utilizando datos centrales para el almacenamiento local y la persistencia de los datos, de modo que algunos de los principales conjuntos de datos estén disponibles para el usuario si la web no es accesible.¿Datos básicos con el patrón recomendado de servicios web?
Al construir esta aplicación, he estado leyendo muchas publicaciones sobre datos básicos. Si bien parece haber muchos por ahí sobre la mecánica de hacer esto, he visto menos en los principios/patrones generales para esto.
Me pregunto si hay algunas buenas referencias para un modelo de interacción recomendado.
Por ejemplo, el usuario podrá crear nuevos objetos en la aplicación. Digamos que el usuario crea un nuevo objeto empleado, el usuario típicamente lo creará, lo actualizará y luego lo guardará. He visto recomendaciones que actualiza cada uno de estos pasos al servidor -> cuando el usuario lo crea, cuando el usuario realiza cambios en los campos. Y si el usuario cancela al final, se envía una eliminación al servidor. Otra recomendación diferente para la misma operación es mantener todo localmente y solo enviar la actualización completa al servidor cuando el usuario lo guarde.
Dejando a un lado este ejemplo, hay algunas recomendaciones/patrones generales sobre cómo manejar las operaciones CRUD y asegurar que estén sincronizadas entre el servidor web y los datos principales.
Muchas gracias.
+1 Considero un diseño en el cual los datos centrales y los elementos del servidor no están entrelazados y son capaces de funcionar completamente por separado. Esto permite que la aplicación trabaje fuera de línea, p. modo avión sin pérdida de función. Guarde datos en Core Data y luego vuelva a leerlos para enviarlos al servidor. De esta forma, se obtiene una interfaz de usuario más receptiva y se evita la pérdida de datos. – TechZen