Depois de um período de gestação pública de dois anosO mais novo membro da família Couchbase Lite está pronto para seu aniversário! O Couchbase Lite para C entra no mundo com o lançamento do Couchbase Lite 3.0 - ele pulou algumas séries para se juntar aos seus irmãos.
O que é o Couchbase Lite para C? O Couchbase Lite é nossa biblioteca de banco de dados de documentos do lado do cliente com consultas avançadas e suporte total à sincronização de dados. O Couchbase Lite para C adiciona uma API ANSI C para que você possa vinculá-lo a aplicativos C ou C++.
Você recebe:
- O mesmo conjunto de recursos, arquitetura e API excelentes, com classes e métodos se tornando structs e funções em C
- Uma única biblioteca nativa pequena, sem dependência de um tempo de execução de linguagem
- Compatibilidade ainda mais ampla com sistemas operacionais
- Necessidades modestas de hardware
Por que isso é importante? Afinal de contas, os desenvolvedores de aplicativos móveis geralmente desenvolvem para iOS ou Android codificando em C#, Java, Objective-C ou Swift, e já temos versões do Couchbase Lite adaptadas a todos eles. Também temos suporte para desktop Mac e Windows.
O que ainda não cobrimos?
Internet das coisas
Dispositivos incorporados! Há um lote Desses, e mesmo que você exclua lâmpadas, torradeiras etc., que não precisam de um banco de dados, a crescente categoria de Internet das Coisas tem muitos casos de uso que precisam de acesso a dados estruturados. Eles geralmente precisam compartilhar esses dados com um servidor ou outro dispositivo de IoT. Por exemplo, os hospitais usam dispositivos médicos especializados que armazenam registros de pacientes e sinais vitais. Esses dados precisam estar disponíveis onde quer que o paciente esteja sendo tratado.
O foco principal do Couchbase Lite para C são os dispositivos IoT ricos em dados que executam Linux. Disponibilizamos o melhor banco de dados móvel da categoria, com tecnologia de sincronização de dados, para produtos executados em hardware semelhante ao Raspberry-Pi, ou seja, SoCs ARM com uma MMU e algumas centenas de megabytes de RAM.
Desktop Linux
As distribuições Linux não incorporadas agora também podem participar. O Couchbase Lite para C abre as portas para aplicativos Linux de desktop e laptop, com o Ubuntu e o Debian suporte na versão 3.0 e mais distros a serem adicionadas ao longo do tempo. Ele também é compatível com o macOS e o Windows.
O Couchbase Lite pode até ser uma opção atraente para servidores leves. O modelo de dados JSON-documento do Couchbase Lite é o mesmo do Couchbase Server, mas com uma área de cobertura muito menor e configuração zero. Ele não foi projetado para corresponder à escalabilidade do Couchbase Server.
Aplicativos multiplataforma
Com a mesma API para Linux, Mac, Windows, Android e iOS, o Couchbase Lite para C também é uma vantagem para aplicativos com código de núcleo C/C++ multiplataforma: seu núcleo pode usá-lo como uma solução de persistência e sincronização sem a necessidade de dependências incômodas de bibliotecas específicas da plataforma.
Outros idiomas
Com o muitos, muitos linguagens de programação em uso atualmente, sabemos que não podemos oferecer suporte a todas elas diretamente. Não é difícil fazer a ponte entre as versões Java e C# do Couchbase Lite e outras linguagens JVM e .NET CLR. Mas e quanto às linguagens exóticas e de nicho, como Python, JavaScript ou Rust?
C pode não ser o idioma favorito de todos, mas, assim como o inglês, é um Língua Franca para desenvolvedores. (Espere, não é Franca significa "francês"?) Toda linguagem pode interoperar com C, usando uma interface de função estrangeira (FFI). Isso significa que toda linguagem poderia ter uma API do Couchbase Lite se alguém escrevesse um código de cola para vincular sua FFI ao Couchbase Lite para C.
O Couchbase não pode escrever todo esse código cola, muito menos dar suporte a ele, mas fornecemos dois exemplos para que as pessoas comecem: um Ligação Python e um Encadernação com ferrugem. Pense neles como exemplos de código: eles funcionam, mas estão incompletos, não têm suporte e foram levemente testados. Entretanto, como são licenciados pelo Apache, incentivamos a comunidade a melhorá-los e ampliá-los. E, igualmente importante, eles podem servir de exemplo para os desenvolvedores que estão escrevendo outras associações. Encadernação de dardo.
Leitura e visualização adicionais
Para saber mais, confira meu apresentação sobre o Couchbase Lite para C da conferência Couchbase Connect de 2021. Ele entra em mais detalhes sobre a API, especialmente as maneiras pelas quais a tradução em C difere de outras plataformas.
Outros materiais de referência e links de amostras de encadernações estão disponíveis para você se aprofundar: