Operaciones clave-valor en Couchbase Mobile mediante NativeScript y Angular

Soy un gran fan del desarrollo de aplicaciones móviles para Android e iOS y un fan aún mayor del uso de Angular para desarrollar esas aplicaciones. Hace un tiempo escribí sobre Uso de Couchbase en una aplicación NativeScript así como Uso de Couchbase en una aplicación NativeScript Angular. Ambos eran escenarios muy sencillos de la lista de cosas por hacer.

Vamos a dar un paso atrás y desglosar lo que Couchbase puede hacer en su aplicación móvil pieza por pieza. Por ejemplo, Couchbase es una base de datos de documentos que puede ser gestionada como clave-valor o por las propiedades del documento. En este ejemplo vamos a trabajar con claves y valores para guardar y cargar datos de un perfil imaginario.

En el ejemplo anterior podemos añadir un nombre y un apellido y elegir entre una lista de avatares de perfil disponibles. Al guardar, los datos se almacenan en Couchbase, y la pantalla se reinicia. Al cargar, los datos se cargan a través de la clave previamente guardada.

Requisitos

Este proyecto tiene unos requisitos básicos para funcionar:

La CLI NativeScript, obtenible a través del Node Package Manager (NPM) es necesaria para crear y construir proyectos. Para completar el proceso de construcción, se requiere el SDK de Android o Xcode, dependiendo de la plataforma para la que desea construir.

Iniciar un nuevo proyecto NativeScript con Angular

Para mantener las cosas fáciles de entender, vamos a crear un nuevo proyecto NativeScript con Angular para Android y iOS. Desde la línea de comandos, ejecuta lo siguiente:

Si no usas un Mac con Xcode instalado, sólo podrás crear para la plataforma Android. iOS es cosa sólo de Mac.

Este proyecto utilizará Couchbase, por lo que debemos instalar el módulo nativescript-couchbase plugin. Desde la CLI, ejecute:

El comando anterior instalará el plugin de Couchbase para cualquier plataforma disponible en el proyecto. En este punto estamos listos para el desarrollo de nuestra aplicación.

Definición de la lógica central de la aplicación

El proyecto, aunque de una sola página, tendrá dos piezas centrales de lógica de aplicación. Estará la lógica que aparece en la página por defecto y la lógica que aparece en el diálogo modal. Vamos a empezar con la lógica que aparece en la página por defecto.

Abra el archivo app/app.component.ts e incluya lo siguiente:

En el código anterior estamos importando varios componentes Angular, el servicio modal NativeScript, Couchbase, y el diálogo modal que pronto será creado.

Dentro del AppComponent hay una variable pública y una privada. La variable privada base de datos contendrá la instancia abierta de Couchbase y la variable pública perfil variable contendrá información como el nombre de la persona y su foto de perfil.

En constructor inyectará tanto el método ModalDialogService y ViewContainerRef que se utilizarán en toda la página.

Además, inicializaremos el perfil y abriendo una base de datos llamada datos. Usted puede notar ~/gatito1.jpg y preguntarse qué es.

En esta aplicación tenemos a nuestra disposición unos avatares llamados gatito1.jpg, gatito2.jpgy gatito3.jpg todo ello dentro del proyecto aplicación directorio.

NativeScript Couchbase Kittens

Yo no hice estas fotos, sino que las encontré en Internet. Siéntete libre de usar las imágenes que quieras para este ejemplo.

En foto.perfil contendrá la ruta a la foto que deseamos utilizar.

Cuando queremos guardar en Couchbase, primero queremos ver si el documento ya existe en Couchbase. Recuerda que esta es una aplicación de una sola página y un solo perfil. Si el documento existe necesitamos actualizar el documento con lo que haya en el archivo perfil de lo contrario lo crearemos. Una vez guardado podemos reiniciar el formulario.

Como conocemos el nombre de la clave del documento, podemos recuperar el documento cuando queramos recargar el formulario. Tanto los datos almacenados como los recuperados están en formato JSON, lo que es genial para las aplicaciones NativeScript.

Por último, tenemos el showModal método:

Lo anterior es una variación de algo que encontré en el Documentación de NativeScript. Cuando se llame, lanzará la aplicación que pronto se creará Componente modal con varias opciones. Cuando se cierre el modal, el valor devuelto se cargará en el archivo foto.perfil porque el valor devuelto debería ser una ruta de imagen.

Ahora, ¿cómo creamos ese diálogo modal?

Creación de un cuadro de diálogo modal para la selección de imágenes

Crear un modal es prácticamente lo mismo que crear una página NativeScript. Sin embargo, hay que hacer otros bootstrapping para demostrar que se trata de un modal y no de una página.

Crear un archivo app/app.modal.ts e incluya el siguiente código:

Notarás que estoy usando plantilla en lugar de templateUrl aquí. Es porque me dio pereza y no quise crear otro archivo HTML. La plantilla tiene tres imágenes y un evento tap para cada imagen. Cuando se toca, el cerrar pasando el valor a la página anterior.

Antes de poder utilizar el modal, es necesario arrancarlo en el directorio del proyecto app/app.module.ts file:

Obsérvese que estamos importando el archivo ModalDialogService así como el Componente modal? Estamos inyectando ambos en el @NgModule bloque.

Ahora el modal puede ser lanzado dentro de la aplicación.

Desarrollo de la interfaz de usuario de la aplicación principal

¿Qué tal la interfaz de usuario para la página de la aplicación NativeScript por defecto? Abra el proyecto app/app.component.html e incluya el siguiente marcado XML:

En el diseño anterior tenemos una barra de acciones y el contenido dividido en dos filas. La barra de acciones tiene un botón que, al pulsarlo, llamará al comando carga en nuestro código TypeScript.

En Imagen cargará la foto almacenada en la ruta de la etiqueta foto.perfil variable. Al pulsarla, se abrirá un modal que nos permitirá elegir un nuevo avatar.

La segunda fila de la interfaz de usuario tiene dos campos de entrada y un botón. Los campos de entrada se vinculan mediante el método Angular [(ngModel)] que permiten compartir datos entre el XML y TypeScript. Cuando se pulsa el botón, la etiqueta guardar guardará los datos en Couchbase.

Conclusión

Acaba de ver cómo utilizar Couchbase como almacenamiento clave-valor dentro de un NativeScript Aplicación para Android e iOS construida con Angular. La próxima vez veremos cómo guardar más de un documento en Couchbase y consultar por esos documentos haciéndolo mucho más potente que un simple almacenamiento clave-valor.

Comparte este artículo
Recibe actualizaciones del blog de Couchbase en tu bandeja de entrada
Este campo es obligatorio.

Autor

Publicado por Nic Raboy, Defensor del Desarrollador, Couchbase

Nic Raboy es un defensor de las tecnologías modernas de desarrollo web y móvil. Tiene experiencia en Java, JavaScript, Golang y una variedad de frameworks como Angular, NativeScript y Apache Cordova. Nic escribe sobre sus experiencias de desarrollo relacionadas con hacer el desarrollo web y móvil más fácil de entender.

1 Comentarios

  1. [...] Mientras tanto, echa un vistazo a este otro tutorial sobre el uso de NativeScript con Couchbase titulado, Key-Value Operations in Couchbase Mobile via NativeScript and Angular. [...]

Deja un comentario

¿Listo para empezar con Couchbase Capella?

Empezar a construir

Consulte nuestro portal para desarrolladores para explorar NoSQL, buscar recursos y empezar con tutoriales.

Utilizar Capella gratis

Ponte manos a la obra con Couchbase en unos pocos clics. Capella DBaaS es la forma más fácil y rápida de empezar.

Póngase en contacto

¿Quieres saber más sobre las ofertas de Couchbase? Permítanos ayudarle.