Cloudant has released open source native software libraries for Android and iOS for developers to manage and replicate mobile application data on phones, tablets, and other occasionally connected devices.
The new Cloudant Sync for Android and Cloudant Sync for iOS are available under Apache License Version 2.0 for developers already working with Cloudant's NoSQL database-as-a-service (DBaaS).
Both libraries are also API-compatible with Apache CouchDB.
This is all about giving mobile developers a means of building offline access into their applications.
The software libraries provide a simplified API with a device-local database indexing and query layer, "more closely matching" (says the firm) the expectations of mobile developers than the cloud database semantics of other mobile sync libraries do.
Cloudant Sync stores application data to a device's local database, enabling applications to collect and access data even if network connectivity is unavailable. When devices re-establish connectivity, the software synchronizes changes with a remote Cloudant or CouchDB database.
According to Cloudant, the proliferation of mobile backend-as-a-service (MBaaS) providers indicates the need for specialized mobile development platforms, as well as the need for data to be seamlessly shared, stored, and replicated between devices and the cloud.
Dan DeMichele, Cloudant vice president of product, explains that Cloudant Sync implements a native code-friendly API for managing JSON documents and can also work in conjunction with popular MBaaS platforms like Parse, StackMob, and Kinvey.
"Cloudant Sync's features also include local indexing and querying, management of conflicting documents, and support for binary attachments. The library also permits a high volume of local datastores to synchronize with remote databases simultaneously, allowing developers to scale apps in proportion with growing user bases," he said.
The Android library currently supports creating, updating, and deleting documents (database CRUD). It enables developers to incorporate bidirectional sync between a remote database in the cloud and a local datastore controlled by the application, which is the feature that allows users to manipulate data even when devices are not connected to the Internet.