Today's consumers are highly reliant on their mobile applications. If apps don't work, users won't use them—it's that simple.
To require an Internet connection for mobile applications is to live in the past. If apps rely on a connection, odds are high that the experience will be sluggish and unpredictable.[ There's more than one way to build a mobile app. See 25 simple tools for building mobile apps fast. | Keep up with the hottest topics in programming with InfoWorld's App Dev Report newsletter. ]
To avoid reliance on the network, providers of databases and cloud services have added synchronization and offline capabilities to their mobile offerings. Solutions like Couchbase's Couchbase Mobile, Microsoft's Azure Mobile Services, Amazon's Cognito, and Google's Firebase offer the all-important sync that enables apps to work both online and offline.
With so many offerings available, how does a mobile developer select the right technology for the right application? The following six key criteria are most important when evaluating mobile solutions: platform support, security, modeling flexibility, conflict resolution, sync optimization, and topology support.