Couchbase provides developers with native SDKs for popular programming languages including Java, .Net, Node.js, PHP, Python, Ruby, C/C++, Go, and more. These SDKs expose read, write, and other commands as functions in their programming language of choice - whatever they use to write their applications.
The APIs are idiomatic, that is, they are done in the style that developers expect for each language.
An important benefit of the SDKs is topology awareness, meaning that each client knows the cluster map and gets updates if the cluster map changes. This enables the clients to transparently track topology changes and handle conditions such as rebalance and failover and you as a developer can focus only on the application logic. Thus, when an application needs to read or update a document, the client can hash the document id and then use that hash to determine exactly which server is the master for that document without consulting an external routing authority.
Couchbase Mobile Development
Couchbase offers support for mobile developers to use their favorite application programming environments.
Couchbase Lite is an embedded NoSQL document database that runs natively on mobile devices and in other lightweight computing environments. It manages data locally for low latency read/write access. Couchbase Lite presents native app development APIs for iOS, Android, Xamarin, and Unity in Objective-C, Swift, Java, Android, C#, and more.
Couchbase Sync Gateway sits on the edge of the network between private data and the public cloud and securely replicates data changes between Couchbase Server and Couchbase Lite. Mobile apps remain responsive when disconnected from the network and data updates seamlessly once connectivity is restored. Sync Gateway enables true multi-master replication with full conflict detection and fine-grained orchestration of what data remains on the device and what is stored in Couchbase Server.