Couchbase Lite es una base de datos NoSQL diseñada para dispositivos móviles e integrados, que permite la gestión de datos sin problemas incluso en entornos sin conexión. Hoy, me complace presentar el nuevo React Native - Módulo nativo para Couchbase Liteya está disponible en versión beta pública en NPM.
¿Por qué React Native con Expo?
Crear aplicaciones móviles con React Native puede ser todo un reto debido a la complejidad de la gestión del enrutamiento, los módulos y la infraestructura de la aplicación. Aquí es donde frameworks como Expo para hacer el desarrollo más accesible. Expo se ha convertido en el framework más popular para aplicaciones React Native, y el equipo de React Native recomienda ahora utilizarlo para nuevos proyectos, especialmente por su rico SDK y su facilidad de uso.
Nuestro módulo nativo está diseñado para funcionar a la perfección con aplicaciones Expo y React Native. Para los usuarios de Expo, ejecutar la aplicación en modo dev-cliente dará acceso a módulos nativos, facilitando la integración con Couchbase Lite. Aquí tienes una guía de instalación detallada para empezar.
Repositorio y proyecto de código abierto
Puede acceder al React Native - Módulo nativo para repositorio Couchbase Lite. Al tratarse de un proyecto de código abierto, todos los tablones y problemas del proyecto se rastrean a través de GitHub. Animamos a los desarrolladores a consultar el proyecto, notificar problemas y contribuir.
Un ejemplo clave es el expo-cbl-travel que muestra las características de Couchbase Lite como la replicación, las consultas SQL++ y la búsqueda de texto completo (FTS). Este proyecto está diseñado para trabajar con Couchbase Capella App Services. Se lo hemos puesto fácil a los desarrolladores proporcionándoles una guía paso a paso para configurar Couchbase Capella's Nivel libre para su uso con la aplicación móvil. Encontrará la repositorio expo-cbl-travel aquí. Puede ver el video tutorial aqui:
Un ejemplo sencillo con Couchbase Lite
Aquí tienes un breve ejemplo de lo fácil que es interactuar con Couchbase Lite usando el módulo React Native. Esto demuestra abrir una base de datos, recuperar un documento, modificarlo y guardar los cambios:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
import { Database, DatabaseConfiguration, FileSystem, MutableDocument } from 'cbl-reactnative'; //get a file path that you can write the database file to for each platform const fileSystem = new FileSystem(); const directoryPath = await fileSystem.getDefaultPath(); const dc = new DatabaseConfiguration(); dc.setDirectory(directoryPath); // Open (or create) a database const database = new Database('myDatabase', dc); const collection = await database.createCollection(“myCollection”, “myScope”); //create document const documentId = 'doc-1'; const mutableDoc = new MutableDocument(documentId); mutableDoc.setString(‘firstName’, ‘Denis’); //save it to the database await collection.save(mutableDoc); // Get a document by ID let document = collection.document(documentId); let mutableDoc2 = MutableDocument.fromDocument(document); if (mutableDoc2) { // Modify the document mutableDocument2.setString(‘lastName’, 'Doe’); mutableDocument2.setInt('age', 30); // Save the document database.save(mutableDocument2); console.log('Document updated successfully!'); } else { console.log(`Document with ID ${documentId} not found.`); } // Close the database when done database.close(); |
En este ejemplo:
-
- Se crea una nueva base de datos llamada mi-base-de-datos (o se abre si ya existe)
- Creamos un documento Mutable con el ID doc-1
- Modificamos el documento añadiendo un campo firstName y estableciendo el valor
- A continuación, guardamos el documento
- A continuación recuperamos el documento de la base de datos
- Si el documento existe, modificamos sus propiedades de nombre y edad
- El documento modificado se guarda de nuevo en la base de datos
Este sencillo fragmento de código demuestra la potencia de Couchbase Lite para manejar datos locales de forma eficiente. Escenarios más complejos, como la consulta de datos, el manejo de la replicación, o el uso de búsqueda de texto completo (FTS), se pueden explorar a través de nuestro documentación.
Problemas actuales y futuras mejoras
Estamos trabajando activamente para solucionar los problemas conocidos:
-
- Cambiar oyentes: Actualmente estamos solucionando problemas que harán que los escuchadores de cambios sean funcionales en la próxima actualización.
- Parámetros de consulta de fecha en Android: Hay problemas menores con el análisis de fechas en Android, que planeamos resolver pronto.
La versión beta pública (0.2.0) se basa actualmente en Couchbase Lite 3.1.x, y actualizaremos a Couchbase Lite 3.2 en un futuro próximo.
Cómo ayudar
Invitamos a los desarrolladores a probar la versión beta, crear aplicaciones de muestra y hacernos llegar sus comentarios. Su aportación es inestimable para ayudarnos a identificar y solucionar problemas rápidamente. Puede enviar problemas o sugerencias a nuestro Página de incidencias de GitHub.