View Source

h1. Developing for Couchbase

Couchbase has a number of official client libraries for development. In addition, Couchbase Server is protocol compatible with memcached, so you may use any number of existing client libraries against the server.

h2. Client Libraries

* [.NET|http://www.couchbase.com/develop/net/current]
* [Java|http://www.couchbase.com/develop/java/current]
* [PHP|http://www.couchbase.com/develop/php/current]
* [Ruby|http://www.couchbase.com/develop/ruby/current]
* [C|http://www.couchbase.com/develop/c/current]

If you want to develop your own Couchbase clients, see [Developing Couchbase Clients|http://www.couchbase.com/docs/couchbase-manual-1.8/couchbase-client-development.html]

h1. Developing Couchbase Server

If you're interested in contributing to Couchbase Server or understanding how it works, please look at the [repositories and architecture|couchbase:Architecture and Source Repositories] or [contributing changes|couchbase:Contributing Changes].

h2. Protocol Additions

Couchbase Server has developed a set of additional protocol operations over the course of releases.

* [couchbase:TAP Protocol] (since 1.6)
* [couchbase:Observe] (since 2.0)
* [couchbase:Replica Read] (since 2.1)
* [CCCP:Cluster Configuration Carrier Publication|couchbase:Cluster Configuration Carrier Publication] (proposed for 3.0)