Work Offline, Sync Online
In the world of mobile apps, the network is the least reliable part of the story. Zumero's "replicate and sync" database approach is faster, more reliable, and works perfectly offline. Zumero keeps a copy of the data on the device, so database operations do not involve the network. Zumero handles synchronization with the server in the background when a network connection is available. Users never have to wait or worry about being offline.
Zumero requires no changes to your existing data; it works alongside your SQL databases and applications, keeping changes up-to-date (in both directions) between SQL Server and mobile devices. Your applications need not know or care that synchronization is occurring, nor do your mobile apps need to worry about staying up-to-date with the backend. Zumero takes care of the details.
Why sync instead of REST?
There's more than one way to share data between mobile devices and servers. A popular choice is to use a REST architecture, where your application checks in via web requests to…
- …tell the server it has new data.
- …tell the server it has updated data.
- …tell the server it's deleted some data.
- …ask the server for updated data.
Assuming the network connection is up, your application then has to process these updates, perhaps asking the server for new updates after sending your own, handle any conflicts that may have arisen, etc.
If the REST call fails, your application now has to either (a) fail the operation and apologize to the user or (b) save the updated data to be retransmitted at a later date, hopefully without conflicting changes having occurred in the meantime.
All that code, and none of it has anything to do with what the application does. And you still have a local database that your real application code deals with.
Zumero asks (and answers): "What if that local database was all the mobile application had to worry about?" You update your database, and trust that it's being updated as needed when the outside world changes. Zumero…
- …makes sure the server has your latest changes.
- …makes sure you have the latest changes from the server and from other mobile users.
- …handles merges and conflicts in one place. By the time Zumero sends you new data, it's already sorted out.
- …worries about re-sending updates that didn't go through earlier.
Did we mention speed?
In addition to reliability and simplicity, this approach can make your mobile apps significantly faster from the users' point of view. No more waiting for a server call that never finishes (or at least feels that way). No stalls while data updates are processed, vetted, merged. Your database is small, fast and local, just like your app.
What do I need to learn?
Not much. We provide the tools to do this on your mobile platform of choice: native iOS and Android; Xamarin; PhoneGap; Windows 8.
Dealing with a Zumero database is just like dealing with any SQLite database, plus an extra line or two of initialization, and a "sync" call that probably happens in a background method that you write once and ignore thereafter.
Visit our Dev Center to browse the documentation, or look at the SDKs and sample applications to see for yourself.