I am currently starting to develop a mobile application (iOS and Android) for an existing web platform. This web platform has a REST API and the client application will use that for communicating. The thing is that the mobile application can make changes to the API, and I must have offline support. This will have synchronisation issues:
Clients can change the same data offline and then it can create problems when sync that info with the server
The web client can change the information as well and the the mobile client is offline and don't see that changes, and my as well change that old content
Having the mobile application to store the latest data offline so that the user may work. And the when it comes online it should address changes and send the changes to the server
Are there any theoric things I may read or see algorithms that can be used for this? I mean this is very usual on mobile apps development and I don't want to reinvent the wheel here.
Synchronization occurs when a mobile device communicates with applications on a personal computer or a server. This is often referred to simply as a "sync" or a "docking".
Data synchronization is the ongoing process of synchronizing data between two or more devices and updating changes automatically between them to maintain consistency within systems. While the sheer quantity of data afforded by the cloud presents challenges, it also provides the perfect solution for big data.
What are the benefits of data synchronization? Data synchronization prevents data conflicts, which can result in errors and low-quality, low-trust data. Synchronized, trustworthy data is essential for security, compliance, and a wide variety of operational functions.
Recently I blogged about syncing (sync algorithm for exchanging data in the “Client – Server” model via REST API). The algorithm I mentioned in the post is used for building sync functionality to support offline clients. It might help you to get some ideas with building the sync logic for your specific requirements.
Note: the reason I simply provide the link to the mentioned algorithm instead of explaining it here is that the post includes many valuable comments which compliment the article.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With