Aprende Couchbase Lite en 5 minutos y sigue el CRUD

Por Matteo Sist, jefe de tecnología móvil, @MOLO17

Uno de los ingredientes clave para aprender a hacer una gran aplicación móvil es utilizar una buena base de datos. Por eso, en este artículo vamos a mostrar lo fácil que es integrar Couchbase Lite en una app para iOS.

¿Qué es Couchbase Lite? Couchbase Lite es el SDK para móviles del Couchbase Móvil que permite a los desarrolladores integrar fácilmente una base de datos NoSQL en aplicaciones móviles.

Este blog repasará las operaciones CRUD (crear, leer, actualizar, eliminar), proporcionando detalles además de consejos y trucos para cada uno de los pasos necesarios, y destacará una de mis funciones favoritas, Sync Gateway.

C como Crear

El primer paso es crear un documento con Couchbase. Couchbase tiene un método para crear un documento, guardarDocumento. Este método acepta dos parámetros. El primero es el documento ( CouchbaseLiteSwift.MutableDocument)  y el segundo es un parámetro opcional ( CouchbaseLiteSwift.Control de concurrencia ) que da a los usuarios la opción de resolver posibles conflictos automáticamente o lanzar una excepción para permitir a los usuarios resolver el conflicto manualmente. El valor por defecto es "LastWriteWins“.

 Cómo utilizarlo guardarDocumento ¿método?

En primer lugar, necesitamos una instancia de base de datos ( CouchbaseLiteSwift.Base de datos ), así que basta con iniciar una nueva base de datos:

 A continuación, tenemos que crear el documento que queremos guardar. Por lo tanto, crear un nuevo documento CouchbaseLiteSwift.MutableDocument  y añadir algunos campos:

 Por último, guárdalo:

Como puedes ver, crear y guardar un documento dentro de Couchbase es realmente sencillo e intuitivo.

 

Trucos y consejos para aprender con Couchbase Lite

Mecanografía: En el documento he añadido un campo llamado tipo doc.setString("Contacto", forKey: "tipo") . Se trata de un truco que permite dividir fácilmente un documento en tipos y facilita las operaciones de lectura. Más adelante demostraré cómo utilizar este campo.

Id: No necesitas proporcionar un id cuando creas un documento. Es un campo opcional, y si no lo haces, Couchbase genera un UUID por ti.

Creación de documentos: Si lo desea, puede crear un documento a partir de un diccionario (o un mapa clave-valor) simplemente pasando el diccionario como parámetro en el constructor del documento.

 

R de lectura

Ahora que hemos creado nuestro primer documento también queremos leerlo y mostrarlo en una lista. Hay dos formas de recuperar un documento:

  1. Obtener por id
  2. Consulta

Obtener por id

 Para recuperar un documento utilizando su id necesitamos primero una instancia de base de datos para una operación de lectura.

Entonces podemos utilizar el método documento que necesita el id del documento para recuperarlo. El tipo de retorno de este método es un objeto documento opcional (CouchbaseLiteSwift.Document?) que será nil si el documento no existe.

 

Consulta

En cuanto a la operación get by id, también necesitamos una instancia de la base de datos para la consulta.

 

El siguiente paso es crear la consulta. Para ello necesitamos utilizar el metalenguaje **N1QL**. N1QL, el lenguaje de consulta de Couchbase que extiende SQL a datos JSON, permite a los usuarios definir una consulta con una sintaxis similar a SQL sobre una base de datos NoSQL. Mira el ejemplo de abajo.

 

De este modo, definimos una consulta sencilla que busca todos los documentos (con todos los campos, por supuesto) de la base de datos en los que el campo "tipo" es igual a "Contacto".

Ahora, sólo tenemos que ejecutar la consulta y recibiremos un conjunto de resultados con todos los documentos que cumplan las opciones de la consulta.

 

El objeto resultado se ajusta al protocolo iterador, por lo que puede iterarse para obtener cada documento y hacer cosas. El resultado devuelto por la consulta es una instantánea de los datos en el momento de la ejecución. No se tendrán en cuenta los cambios de documento realizados posteriormente.

 

Trucos y consejos Aprender con Couchbase Lite

Escucha de consultas: Couchbase también proporciona otro método para ejecutar consultas que permiten a los usuarios no sólo recuperar datos de la consulta construida, sino también escuchar futuros cambios. Hacer esto es tan simple como el primer método. Echa un vistazo

El listener será invocado cada vez que cambien los documentos incluidos en el resultado de la consulta. El token devuelto por addChangeListener se pueden utilizar los siguientes métodos para dejar de escuchar:

Conversión de documentos: En cuanto a la creación, puede convertir fácilmente un documento en un diccionario (y viceversa) utilizando toDictionary() método.

 

U como Actualización

Ahora que ya podemos crear y leer documentos en Couchbase, vamos a actualizar nuestro documento.

Actualizar un documento es muy similar a crearlo. Basta con obtener un documento para actualizarlo, actualizarlo y volver a guardarlo. Veamos cómo.

Inicie la base de datos:

Recuperar el documento a actualizar:

Edítalo.

Y, por supuesto, guárdalo:

 

 

D como Borrar

Por último, pero no por ello menos importante, tal vez desee eliminar algunos documentos, he aquí cómo hacerlo.

Como siempre, necesitamos la base de datos.

De forma similar a la operación de actualización, debemos recuperar el documento a eliminar. Para ello, utilizaremos el método document by id.

Ahora podemos utilizar el borrar para eliminar un documento. Al igual que con guardarDocumentopodemos optar por resolver los conflictos de forma manual o automática. 

 

Couchbase Sync Gateway es tan fácil de aprender como Couchbase Lite

Ahora podemos integrar Couchbase Lite en nuestras aplicaciones utilizando CRUD:

  1. Crear un documento
  2. Leer un documento (o muchos) con actualizaciones en tiempo real si queremos
  3. Actualizar un documento (no es tan diferente de la creación)
  4. Borrar un documento

Pero aún hay más. Couchbase proporciona otra característica maravillosa: Sync Gateway

 

Sincroniza 

Sync es una de mis funcionalidades favoritas de Couchbase porque es tan simple como efectiva. Couchbase Lite proporciona esta funcionalidad para configurar una base de datos remota.

Profundicemos en el código.

Además de nuestra base de datos, necesitamos otro objeto: el replicador.

 Lo que necesito para iniciar un objeto replicador (CouchbaseLiteSwift.Replicator) es un objeto de configuración donde el único campo obligatorio es la url del Sync Gateway.

 Los demás campos opcionales son replicatorType, donde los usuarios pueden elegir si la replicación debe funcionar hacia arriba, hacia dentro, hacia abajo, o ambas cosas. Otro campo es continuo, un indicador que permite a los usuarios configurar si la replicación debe ejecutarse una sola vez o de forma continua. 

Con el replicador sólo necesitamos iniciar la replicación.

O detener la replicación.

 

Trucos y consejos para aprender con Sync

Estado de la replicación de escucha: Tanto para la consulta como para la replicación podemos añadir un listener para recibir los cambios de estado de la replicación. A continuación se muestra el código. 

En cuanto a las consultas, el token debe utilizarse para eliminar el oyente del replicador.

 

Conclusión, Couchbase Lite es fácil de aprender

 Couchbase Lite, como parte de la suite Couchbase Mobile, es una poderosa flecha en la aljaba de un desarrollador móvil. Es fácil de aprender, y en este artículo solo hemos mostrado una pequeña parte de su potencial, así que mi consejo es que profundices en las funcionalidades de Couchbase que te permitirán integrar fácilmente y tomar el control total de la base de datos que soporta tus aplicaciones móviles.

Sobre Matteo Sist, @MOLO17

Matteo empezó a colaborar con MOLO17 como Desarrollador Android cuando estaba en el instituto (a través de un curso de Tecnología de la Información). Contratado en 2015, se unió al equipo de desarrollo móvil asumiendo el papel de desarrollador clave para las plataformas iOS y Android. Competente en lenguajes de desarrollo de aplicaciones móviles nativasDesde Java y Objective-C hasta los más recientes Kotlin y Swift, ha diseñado y desarrollado varias soluciones de éxito para dispositivos móviles dirigidas a consumidores y empresas. En 2016, se convirtió en Tech Lead gestionando el equipo de desarrollo de aplicaciones móviles, y en 2019, cofundó MobileBridge (una empresa hermana de MOLO17).

 

Autor

Publicado por Blogger invitado

Bienvenido al perfil de blog invitado de Couchbase, con contenido que invita a la reflexión de personas influyentes del sector.

Dejar una respuesta