{"id":6899,"date":"2019-05-29T16:48:28","date_gmt":"2019-05-29T23:48:28","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=6899"},"modified":"2025-06-13T20:56:54","modified_gmt":"2025-06-14T03:56:54","slug":"couchbase-lite-in-c","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/couchbase-lite-in-c\/","title":{"rendered":"Couchbase Lite \u2014 In C!"},"content":{"rendered":"<p><a href=\"https:\/\/www.couchbase.com\/products\/lite\/\">Couchbase Lite<\/a> has been available since 2014, targeting the iOS, Android and .NET platforms, and secondarily macOS and Windows. To that end, we&#8217;ve exposed APIs in the preferred languages of those platforms: Java, Objective-C, Swift, and C#.<\/p>\n<p>But surely there are other uses for an <a href=\"https:\/\/www.couchbase.com\/products\/lite\/\">embedded NoSQL database<\/a> with best-in-class sync capabilities! It&#8217;s ideally suited to the emerging Internet Of Things; developers have come to us wanting to run Couchbase Lite on embedded Linux boards such as the Raspberry Pi. Others have asked for bindings to more languages such as Python or Go.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-6913 size-full\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/05\/Couchbase-Lite_C.png\" alt=\"Couchbase Lite For C\" width=\"1200\" height=\"560\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/05\/Couchbase-Lite_C.png 1200w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/05\/Couchbase-Lite_C-300x140.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/05\/Couchbase-Lite_C-1024x478.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/05\/Couchbase-Lite_C-768x358.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/05\/Couchbase-Lite_C-20x9.png 20w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<p>I&#8217;m happy to say that we&#8217;re taking steps toward these use cases, by introducing <a href=\"https:\/\/github.com\/couchbaselabs\/couchbase-lite-C\"><strong>Couchbase Lite For C<\/strong><\/a>. This is a full implementation of Couchbase Lite with:<\/p>\n<ul>\n<li>An ANSI C API whose\u00a0<a href=\"https:\/\/labs.couchbase.com\/couchbase-lite-C\/C\/html\/modules.html\">functions<\/a> are mostly one-to-one compatible with the class methods in the <a href=\"https:\/\/docs.couchbase.com\/couchbase-lite\/2.5\/index.html\">Couchbase Lite 2.x API<\/a>. Some details are necessarily different because C does not come with automatic memory management or collection data structures, but if you\u2019re used to the existing APIs you should be right at home \u2014 see some <a href=\"https:\/\/github.com\/couchbaselabs\/couchbase-lite-C#examples\">small code examples<\/a>. There is also a C++ API, implemented as a wrapper around the C API.<\/li>\n<li>No dependence on a high-level runtime like .NET or JVM, or a large proprietary class library like Cocoa.<\/li>\n<li>Minimal OS dependencies. It should run on any Unix-like OS (or recent MS Windows); it just needs a filesystem, a C++ standard library, and TCP\/IP networking for the replicator.<\/li>\n<li>Modest hardware needs: think Raspberry Pi (but not Arduino). That means tens of megabytes of available RAM, hundreds of MHz of CPU, and enough persistent storage for your database.<\/li>\n<li>Full source code under an <a href=\"https:\/\/www.apache.org\/licenses\/LICENSE-2.0.html\">Apache 2 license<\/a>, like the other flavors of Couchbase Lite. (<a href=\"https:\/\/www.couchbase.com\/products\/editions\/\">Enterprise Edition<\/a> features, available under a <a href=\"https:\/\/www.couchbase.com\/legal\/agreements\/\">commercial license<\/a>, add a small amount of closed source.)<\/li>\n<\/ul>\n<p>What&#8217;s the catch? It&#8217;s not finished yet \u2014 this is early access to an alpha-quality project. For details, see the &#8220;Future Plans&#8221; section, below.<\/p>\n<h2>\u2026And For Other Languages<\/h2>\n<p>Couchbase Lite For C will help bring Couchbase Lite to other languages and platforms. C is a <em>lingua franca<\/em>, so every language has tools for binding to C APIs. This makes it easy to write the necessary glue to call Couchbase Lite, and then craft an idiomatic API atop that. As a proof of concept, we&#8217;re including a <a href=\"https:\/\/github.com\/couchbaselabs\/couchbase-lite-C\/tree\/master\/python\">Python 3 binding<\/a> in the same Github repository.<\/p>\n<p>The C API has been crafted to be easy to bind. It&#8217;s as object-oriented as possible, with regular function names that concatenate the &#8220;class&#8221; and &#8220;method&#8221; name. &#8220;Objects&#8221; are reference-counted, to make them easy to manage from a garbage-collected runtime. A Document&#8217;s properties can be optionally accessed as a JSON string if it&#8217;s simpler to use your language&#8217;s JSON parser. We&#8217;ve even given client code the ability to schedule when and where notification callbacks are invoked, so you can adapt to whatever concurrency model your language (or OS) supports.<\/p>\n<h2>Architecture<\/h2>\n<p>The C API for Couchbase Lite is a straightforward extension of our 2.x architecture. For the 2.0 release in 2018 we reimplemented Couchbase Lite with a platform-agnostic core component written in C++. This core provides a (non-public) C API which the various implementations of Couchbase Lite bind to, exposing their own public APIs in Java, C#, Swift or Objective-C.<\/p>\n<p>For this new project we wrote an adapter (again in C++) that mostly just reshapes that internal C API to make it clearer, easier to use, and conformant to our cross-platform API spec. This adapter is statically linked with the core library to produce a single binary.<\/p>\n<div id=\"attachment_6916\" style=\"width: 486px\" class=\"wp-caption alignright\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-6916\" class=\"wp-image-6916\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2019\/05\/CBL_C-Architecture-300x189.png\" alt=\"\" width=\"476\" height=\"300\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/05\/CBL_C-Architecture-300x189.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/05\/CBL_C-Architecture-768x484.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/05\/CBL_C-Architecture-20x13.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/05\/CBL_C-Architecture.png 952w\" sizes=\"auto, (max-width: 476px) 100vw, 476px\" \/><p id=\"caption-attachment-6916\" class=\"wp-caption-text\">Architecture diagram showing layering of Couchbase Lite For C<\/p><\/div>\n<p>This adapter is pretty simple: so far it&#8217;s under 2,000 lines of C\/C++ including the headers. The vast majority of the functionality comes from Couchbase Lite Core, which has already been battle-tested for a year on two Unix-based platforms (Android and Darwin) and Windows. So development of the C API itself is pretty straightforward, letting us put more work into porting.<\/p>\n<h2>Future Plans<\/h2>\n<p>Couchbase Lite For C is under active development, but it&#8217;s not finished yet. We&#8217;re giving you early access to an alpha-quality project. The APIs are pretty solid, but some functionality isn\u2019t hooked up; there\u2019s been little testing; and we haven\u2019t yet ported it beyond macOS, Windows, and Ubuntu. It&#8217;s not yet an official product, and we won&#8217;t provide commercial support for it until it&#8217;s complete and high-quality.<\/p>\n<p>We&#8217;re making it available now because we know there&#8217;s demand (a few intrepid developers have already resorted to exploring our internal C APIs!) and because we could use help finishing it:<\/p>\n<ul>\n<li>The embedded platform landscape is remarkably fragmented compared to mobile, desktop or server. We don&#8217;t have every IoT development board, or every embedded Linux distro. Multi-platform support for low-level code can be tricky, especially with multiple compilers (Clang, GCC, MSVC) in the mix. There are also some exotic non-UNIX <a href=\"https:\/\/en.wikipedia.org\/wiki\/List_of_operating_systems#Other_embedded\">operating systems<\/a> in the embedded space, like VxWorks, QNX, RIOT&#8230;<\/li>\n<li>Resource-constrained environments can be challenging to test for. Out-of-memory errors are a thing! Power consumption often matters a lot. And just hooking up a source-level debugger can be tricky. But as Eric Raymond said, &#8220;given enough eyeballs, all bugs are shallow.&#8221;<\/li>\n<\/ul>\n<h2>How You Can Contribute<\/h2>\n<p>Development work is ongoing and in the open, with commits going directly to the Github repository. We encourage your bug reports, suggestions, and pull requests. (If you feel like contributing, please read our <a href=\"https:\/\/github.com\/couchbaselabs\/couchbase-lite-C\/blob\/master\/CONTRIBUTING.md\">guidelines<\/a> first.) We hope you&#8217;ll join with us in bringing Couchbase Lite to more platforms and languages than ever before.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Couchbase Lite has been available since 2014, targeting the iOS, Android and .NET platforms, and secondarily macOS and Windows. To that end, we&#8217;ve exposed APIs in the preferred languages of those platforms: Java, Objective-C, Swift, and C#. But surely there [&hellip;]<\/p>\n","protected":false},"author":37679,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[10127,7667,1810,9410],"tags":[],"ppma_author":[9083],"class_list":["post-6899","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-c-sharp","category-couchbase-lite","category-couchbase-mobile","category-objective-c"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.1 (Yoast SEO v26.1.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Couchbase Lite \u2014 In C! - The Couchbase Blog<\/title>\n<meta name=\"description\" content=\"Announcing the community release of Couchbase Lite for C, a NoSQL embedded database with a C API that brings Couchbase&#039;s storage, query and sync capabilities to IoT platforms.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/couchbase-lite-in-c\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Couchbase Lite \u2014 In C!\" \/>\n<meta property=\"og:description\" content=\"Announcing the community release of Couchbase Lite for C, a NoSQL embedded database with a C API that brings Couchbase&#039;s storage, query and sync capabilities to IoT platforms.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/couchbase-lite-in-c\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2019-05-29T23:48:28+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T03:56:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/05\/Couchbase-Lite_C.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"560\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Jens Alfke, Mobile Architect, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jens Alfke, Mobile Architect, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-lite-in-c\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-lite-in-c\/\"},\"author\":{\"name\":\"Jens Alfke, Mobile Architect, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/d30d635592efd33f96b3da645d4b6fb1\"},\"headline\":\"Couchbase Lite \u2014 In C!\",\"datePublished\":\"2019-05-29T23:48:28+00:00\",\"dateModified\":\"2025-06-14T03:56:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-lite-in-c\/\"},\"wordCount\":946,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-lite-in-c\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"articleSection\":[\"C#\",\"Couchbase Lite\",\"Couchbase Mobile\",\"Objective-C\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/couchbase-lite-in-c\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-lite-in-c\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/couchbase-lite-in-c\/\",\"name\":\"Couchbase Lite \u2014 In C! - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-lite-in-c\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-lite-in-c\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2019-05-29T23:48:28+00:00\",\"dateModified\":\"2025-06-14T03:56:54+00:00\",\"description\":\"Announcing the community release of Couchbase Lite for C, a NoSQL embedded database with a C API that brings Couchbase's storage, query and sync capabilities to IoT platforms.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-lite-in-c\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/couchbase-lite-in-c\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-lite-in-c\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-lite-in-c\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Couchbase Lite \u2014 In C!\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/d30d635592efd33f96b3da645d4b6fb1\",\"name\":\"Jens Alfke, Mobile Architect, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/2892258a8a4a212ee8efeb3af04bd972\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5f7597d2e06b97bd0ec4496da5428c32da3ff8c10fc81ee940c97c9713a0be8a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5f7597d2e06b97bd0ec4496da5428c32da3ff8c10fc81ee940c97c9713a0be8a?s=96&d=mm&r=g\",\"caption\":\"Jens Alfke, Mobile Architect, Couchbase\"},\"description\":\"Jens Alfke is a Mobile Architect at Couchbase. Prior to joining Couchbase, Jens has worked at Apple and (briefly) Google. Jens plays guitar.\",\"url\":\"https:\/\/www.couchbase.com\/blog\/author\/jens-alfke\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Couchbase Lite \u2014 In C! - The Couchbase Blog","description":"Announcing the community release of Couchbase Lite for C, a NoSQL embedded database with a C API that brings Couchbase's storage, query and sync capabilities to IoT platforms.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/couchbase-lite-in-c\/","og_locale":"en_US","og_type":"article","og_title":"Couchbase Lite \u2014 In C!","og_description":"Announcing the community release of Couchbase Lite for C, a NoSQL embedded database with a C API that brings Couchbase's storage, query and sync capabilities to IoT platforms.","og_url":"https:\/\/www.couchbase.com\/blog\/couchbase-lite-in-c\/","og_site_name":"The Couchbase Blog","article_published_time":"2019-05-29T23:48:28+00:00","article_modified_time":"2025-06-14T03:56:54+00:00","og_image":[{"width":1200,"height":560,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2019\/05\/Couchbase-Lite_C.png","type":"image\/png"}],"author":"Jens Alfke, Mobile Architect, Couchbase","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Jens Alfke, Mobile Architect, Couchbase","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-lite-in-c\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-lite-in-c\/"},"author":{"name":"Jens Alfke, Mobile Architect, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/d30d635592efd33f96b3da645d4b6fb1"},"headline":"Couchbase Lite \u2014 In C!","datePublished":"2019-05-29T23:48:28+00:00","dateModified":"2025-06-14T03:56:54+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-lite-in-c\/"},"wordCount":946,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-lite-in-c\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","articleSection":["C#","Couchbase Lite","Couchbase Mobile","Objective-C"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/couchbase-lite-in-c\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-lite-in-c\/","url":"https:\/\/www.couchbase.com\/blog\/couchbase-lite-in-c\/","name":"Couchbase Lite \u2014 In C! - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-lite-in-c\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-lite-in-c\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2019-05-29T23:48:28+00:00","dateModified":"2025-06-14T03:56:54+00:00","description":"Announcing the community release of Couchbase Lite for C, a NoSQL embedded database with a C API that brings Couchbase's storage, query and sync capabilities to IoT platforms.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-lite-in-c\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/couchbase-lite-in-c\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-lite-in-c\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-lite-in-c\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Couchbase Lite \u2014 In C!"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"The Couchbase Blog","description":"Couchbase, the NoSQL Database","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"The Couchbase Blog","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/d30d635592efd33f96b3da645d4b6fb1","name":"Jens Alfke, Mobile Architect, Couchbase","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/2892258a8a4a212ee8efeb3af04bd972","url":"https:\/\/secure.gravatar.com\/avatar\/5f7597d2e06b97bd0ec4496da5428c32da3ff8c10fc81ee940c97c9713a0be8a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5f7597d2e06b97bd0ec4496da5428c32da3ff8c10fc81ee940c97c9713a0be8a?s=96&d=mm&r=g","caption":"Jens Alfke, Mobile Architect, Couchbase"},"description":"Jens Alfke is a Mobile Architect at Couchbase. Prior to joining Couchbase, Jens has worked at Apple and (briefly) Google. Jens plays guitar.","url":"https:\/\/www.couchbase.com\/blog\/author\/jens-alfke\/"}]}},"authors":[{"term_id":9083,"user_id":37679,"is_guest":0,"slug":"jens-alfke","display_name":"Jens Alfke, Mobile Architect, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/5f7597d2e06b97bd0ec4496da5428c32da3ff8c10fc81ee940c97c9713a0be8a?s=96&d=mm&r=g","author_category":"","last_name":"Alfke, Mobile Architect, Couchbase","first_name":"Jens","job_title":"","user_url":"","description":"Jens Alfke is a Mobile Architect at Couchbase. Prior to joining Couchbase, Jens has worked at Apple and (briefly) Google. Jens plays guitar."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/6899","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/users\/37679"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/comments?post=6899"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/6899\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media?parent=6899"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/categories?post=6899"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/tags?post=6899"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=6899"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}