Después de un dos años de gestación públicaEl nuevo miembro de la familia Couchbase Lite está listo para su cumpleaños. Couchbase Lite para C llega al mundo con el lanzamiento de Couchbase Lite 3.0 - se ha saltado unos cuantos grados para unirse a sus hermanos.
Qué es Couchbase Lite para C? Couchbase Lite es nuestra biblioteca de base de datos de documentos del lado del cliente con consultas enriquecidas y soporte completo de sincronización de datos. Couchbase Lite para C añade una API ANSI C para que puedas vincularlo a aplicaciones C o C++.
Lo tendrás:
- El mismo gran conjunto de características, arquitectura y API, con clases y métodos que se convierten en structs y funciones de C.
- Una única y pequeña biblioteca nativa, sin dependencia de un lenguaje en tiempo de ejecución
- Compatibilidad aún mayor con sistemas operativos
- Necesidades de hardware modestas
¿Por qué es esto tan importante? Después de todo, los desarrolladores de aplicaciones móviles suelen desarrollar para iOS o Android codificando en C#, Java, Objective-C o Swift y ya tenemos versiones de Couchbase Lite adaptadas a todos ellos. También tenemos soporte para Mac y Windows.
¿Qué queda por cubrir?
Internet de los objetos
Dispositivos integrados Hay una lote de ellos, e incluso si descartamos las bombillas, tostadoras, etc., que no necesitan una base de datos, la floreciente categoría de Internet de las Cosas tiene muchos casos de uso que necesitan acceder a datos estructurados. A menudo necesitan compartir estos datos con un servidor u otro dispositivo IoT. Por ejemplo, los hospitales utilizan dispositivos médicos especializados que almacenan los historiales y las constantes vitales de los pacientes. Estos datos deben estar disponibles dondequiera que se trate al paciente.
El objetivo principal de Couchbase Lite para C son los dispositivos IoT ricos en datos que ejecutan Linux. Hemos puesto una base de datos móvil de primera clase, con tecnología de sincronización de datos, a disposición de los productos que se ejecutan en hardware similar a la Raspberry-Pi, es decir, SoCs ARM con una MMU y unos pocos cientos de megabytes de RAM.
Linux de sobremesa
Ahora, las distribuciones Linux no integradas también pueden participar. Couchbase Lite para C abre la puerta a las aplicaciones Linux para ordenadores de sobremesa y portátiles, con Ubuntu y Debian. soporte en 3.0 y se añadirán más distros con el tiempo. También es compatible con macOS y Windows.
Couchbase Lite puede ser incluso una opción atractiva para servidores ligeros. El modelo de datos JSON-documento de Couchbase Lite es el mismo que el de Couchbase Server, pero con una huella mucho más pequeña y sin configuración. No está diseñado para igualar la escalabilidad de Couchbase Server.
Aplicaciones multiplataforma
Con la misma API en Linux, Mac, Windows, Android e iOS, Couchbase Lite para C es también una bendición para las aplicaciones con código C/C++ multiplataforma: su núcleo puede usarlo como solución de persistencia y sincronización sin necesidad de dependencias incómodas de librerías específicas de la plataforma.
Otras lenguas
Con el muchos, muchos lenguajes de programación en uso hoy en día, sabemos que no podemos soportarlos todos directamente. No es difícil conectar las versiones Java y C# de Couchbase Lite a otros lenguajes JVM y .NET CLR. ¿Pero qué pasa con lenguajes exóticos y de nicho como Python, JavaScript o Rust?
C puede no ser el idioma favorito de todos, pero, como el inglés, es un lingua Franca para desarrolladores. (Espera, ¿no Franca significa "francés"). Todos los lenguajes pueden interoperar con C, usando una interfaz de función extranjera (FFI). Así que eso significa que cada idioma podría tener una API de Couchbase Lite si alguien escribiera código para enlazar su FFI con Couchbase Lite para C.
Couchbase no puede escribir todo ese código glue, y mucho menos soportarlo, pero hemos proporcionado dos ejemplos para que la gente empiece: un Vinculación con Python y un Ligadura de óxido. Considérelos código de ejemplo: funcionan, pero están incompletos, no tienen soporte y sólo han sido probados ligeramente. Sin embargo, como tienen licencia Apache, animamos a la comunidad a mejorarlos y ampliarlos. Y lo que es igual de importante, pueden servir de ejemplo para los desarrolladores que escriban otros bindings - un gran ejemplo de esto es el binding de terceros Atadura de dardos.
Más información
Para más información, consulte mi presentación sobre Couchbase Lite para C de la conferencia Couchbase Connect de 2021. En él se entra más en detalle en la API, especialmente en las formas en que la traducción a C difiere de otras plataformas.
También encontrará material de referencia y enlaces a ejemplos de encuadernaciones para profundizar en el tema: