How to design a GTD APP with sync function, like the Magic List (Wunderlist), doit.im, Any.do, Ticktick.
To allow users to automatically update when offline, then the need for synchronization mechanism, the user can connect to the Internet after automatic synchronization, or the point button manually sync.
For example, when I was offline, I created 5 plans, each plan had a sub-plan, deleted 2 plans, changed the name of several plans, and when I was able to surf the internet, I clicked the Sync button and synced to the server database in time.
How is this synchronization mechanism designed? I do not see any of these teams sharing their development experience, a little regret.
Ask the great God to answer, the best thoughtful, a little more O (∩_∩) o
Reply content:
How to design a GTD APP with sync function, like the Magic List (Wunderlist), doit.im, Any.do, Ticktick.
To allow users to automatically update when offline, then the need for synchronization mechanism, the user can connect to the Internet after automatic synchronization, or the point button manually sync.
For example, when I was offline, I created 5 plans, each plan had a sub-plan, deleted 2 plans, changed the name of several plans, and when I was able to surf the internet, I clicked the Sync button and synced to the server database in time.
How is this synchronization mechanism designed? I do not see any of these teams sharing their development experience, a little regret.
Ask the great God to answer, the best thoughtful, a little more O (∩_∩) o
This is the synchronous design of our project, and I'm also looking for best practices
http://segmentfault.com/q/1010000002541488
This server is sure to maintain a version management, similar to SVN and other code management software, before each commit to the first update to the merge. Then commit. Differential checking and updating must be done locally. The Code management tool encounters a scenario that is more responsible than yours because it involves multiple people collaborating. So this set of mechanisms definitely works for your application scenario.
With the development experience, do not know how to solve the landlord?
Save all local operations locally and do it all at the time of synchronization. This should be the simplest.