Couchbase Móvil

Primeros pasos con React Native Android y Couchbase Lite

React Native permite crear aplicaciones para Android con aspecto nativo utilizando únicamente JavaScript. En este caso, React Native se encarga de gestionar el estado de la interfaz de usuario y sincronizarlo con los modelos. Y por suerte para nosotros, podemos utilizar Couchbase Lite para añadir sincronización y persistencia a una aplicación React Native. En este tutorial, aprenderás a construir una aplicación sencilla para guardar documentos y replicarlos a Pasarela de sincronización. Estos son los conceptos básicos que aprenderás:

  1. Crear un proyecto básico con Couchbase Lite Android y Couchbase Lite Java Listener
  2. Integración de React Native en su proyecto
  3. Añadir modelos y componentes de interfaz de usuario con JavaScript
  4. Configuración de Couchbase Sync Gateway

Aquí tienes un adelanto de lo que vas a construir:

todolite

Puede descargar el proyecto completo en GitHub.

Requisitos previos

Primeros pasos

En esta sección, crearás un nuevo proyecto de Android Studio desde cero y integrar React Native a ella.

Nuevo proyecto Android Studio

Antes de empezar a escribir algo de JavaScript necesitas crear un nuevo proyecto en Android Studio con todas las dependencias. Abre Android Studio y en la pantalla de bienvenida selecciona Nuevo proyecto. En la ventana Nuevo proyecto, introduzca TodoLite ReactNative Android para el nombre de la aplicación y todolite-reactnative-android para el nombre de la carpeta:

newprojectandroidstudio

Establezca el SDK mínimo requerido en API 16: Android 4.1 o posterior y utilizar la API de Android recomendada actualmente. Después de rellenar los campos, la ventana Nuevo proyecto debería tener este aspecto:

api_16_android_jelly_bean

Haga clic en Siguiente y elija Actividad en blanco plantilla:

 blank_activity blank_activity

Haga clic en Acabado y debería ver lo siguiente en el navegador de proyectos:

finish

Agrupación de dependencias

Expanda la carpeta de aplicaciones y abra la carpeta build.gradle archivo. Asegúrese de abrir el que se encuentra en la carpeta aplicación (también llamada módulo) y añada lo siguiente en la carpeta android sección:

A continuación, abra build.gradle en la raíz (también llamado archivo gradle a nivel de proyecto) y añade una referencia al repositorio Maven de Couchbase:

Ahora, añada las siguientes líneas al nivel superior dependencias sección:

En la barra de herramientas de Android Studio, haz clic en Sincronizar proyecto con archivos Gradle.

Configuración de Couchbase Lite y el Listener

Abrir AndroidManifest.xml situado en app/src/main y añade los permisos:

La actividad React Native Android

Necesitas añadir algo de código nativo para iniciar el tiempo de ejecución de React Native y conseguir que renderice algo. Reemplaza el contenido de MainActivity.java con lo siguiente y le explicaremos lo que ocurre a continuación:

Aquí están pasando algunas cosas:

  1. Usted crea una Actividad que crea un ReactRootViewinicia una aplicación React en su interior y la establece como vista de contenido principal. A continuación, llama a la aplicación initCBLite que hace algunas cosas.
  2. Aquí se definen un nombre y una contraseña vacíos que serán utilizados por el Listener. Esto significa que, en teoría, cualquiera podría acceder a su base de datos. Esto está bien para este tutorial, pero en la producción que reemplazaría la línea con nuevas Credenciales().
  3. Conecta el componente para compilar el JavaScript Views. No vamos a usar Couchbase Views en este tutorial todavía pero puede ser útil.
  4. Instanciar el Director y activar el registro.
  5. Inicie Couchbase Listener introduciendo el puerto de escucha, la instancia del gestor y las credenciales seguras.

Eso es todo por la parte de Android, ¡ahora puedes centrar tu atención en JavaScript!

JavaScript Land

En la carpeta raíz de tu proyecto, ejecuta:

Esto crea un módulo node para tu aplicación y añade la dependencia react-native npm. Ahora abre el módulo paquete.json y añada esta línea dentro del archivo guiones campo:

Hola Mundo

Copia y pega el siguiente código en un nuevo index.android.js en la carpeta raíz:

Construir y correr

Para ejecutar su aplicación, primero debe iniciar el servidor de desarrollo. Para ello, basta con ejecutar el siguiente comando en la carpeta raíz:

NOTA: En el momento de escribir esto, es posible que tenga que ejecutar brew update && brew reinstall watchman para actualizar watchman si obtiene el error Error al construir DepdendencyGraph: TypeError: No se puede leer la propiedad 'root' de null.

Ahora construye y ejecuta tu aplicación Android en una nueva pestaña de Terminal:

Ábrelo en el simulador de Android y verás lo siguiente:

helloworld

¡Bien hecho en conseguir el entorno de desarrollo en funcionamiento! React Native incluye grandes características como la recarga en vivo que hacen que sea mucho más fácil iterar sobre la interfaz de usuario de la aplicación, pero primero debes definir los modelos y métodos para persistir documentos a la base de datos Couchbase Lite.

Una aplicación Todo

Una API sencilla

Crear un nuevo archivo app/utils/api.js y añade lo siguiente:

Esto es lo que estás haciendo:

  1. Declara el endpoint en el que se ejecuta el Couchbase Listener.
  2. En este caso, la base de datos remota es Sync Gateway. Esta se sustituiría por su instancia de producción de Sync Gateway.
  3. El método para persistir un documento de tarea.
  4. Aquí, obtendrás todos los documentos de Couchbase Lite.
  5. Inicia una replicación push desde la base de datos de Couchbase Lite a Sync Gateway. También podría haber una replicación pull.

Una vez creada la API básica, puedes dedicarte a crear la interfaz de usuario.

Construir la interfaz de usuario

Crear un nuevo archivo en app/components/Home.js con lo siguiente:

No te dejes intimidar por la longitud de este fragmento de código. Todo lo que estamos haciendo aquí es declarar estilos y utilizar algunos componentes integrados de React Native UI para mostrar una entrada de texto, botones y etiquetas de texto. Puedes encontrar la lista de componentes UI incorporados aquí.

Actualización del componente raíz

El último paso antes de que pueda ver su gran trabajo en acción es actualizar index.android.js para cargar el Inicio componente. Por debajo del requiere para importar react-nativeañade lo siguiente:

A continuación, sustituya el valor de retorno de la función render con el método . Utilice el ⌘ + m en Genymotion para recargar el JavaScript y deberías ver una pantalla azul brillante. ¡Eso son buenas noticias!

 savesync

Replicaciones con Couchbase Sync Gateway

Descargue Sync Gateway desde el siguiente enlace y descomprima el archivo:

https://www.couchbase.com/nosql-databases/downloads

En un nuevo archivo llamado sync-gateway-config.jsonpega lo siguiente:

Y ejecute Sync Gateway con este archivo de configuración:

Para que el punto final de Sync Gateway sea accesible dentro del emulador de Android VM, es necesario habilitar un puerto desde el host a la VM. En Terminal, ejecute lo siguiente:

Abra la interfaz de administración para supervisar los documentos guardados en Sync Gateway:

https://localhost:4985/_admin/

Pruebe a añadir más documentos de tareas y observe cómo se envían automáticamente a Sync Gateway.

¿Qué hacer a partir de ahora?

¡Enhorabuena! Has construido tu primera aplicación React Native Android + Couchbase Lite. Ahora estás listo para añadir más componentes como los siguientes:

  1. Vistas de Couchbase Lite para escribir consultas personalizadas
  2. Autenticación de usuarios en una réplica
  3. Despliegue continuo del archivo de configuración de Sync Gateway y otros componentes

Atentos a un tutorial sobre cómo depurar tu aplicación React Native Android + Couchbase Lite usando Charles y Genymotion.

No dudes en compartir tus opiniones, hallazgos o preguntas en los comentarios o en los foros. ¡Hasta pronto!

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

Autor

Publicado por James Nocentini

James Nocentini es el escritor técnico encargado de la documentación de Couchbase Mobile. Anteriormente, trabajó como Developer Advocate y antes de eso como desarrollador front-end para HouseTrip. También disfruta escribiendo tutoriales de Android para raywenderlich.com en su tiempo libre.

1 Comentarios

  1. *Abre AndroidManifest.xml ubicado en app/src/main y añade los permisos:*
    la linea de arriba indica los permisos pero no se encuentra ninguno en el recuadro que aparece debajo de ella. por favor agregue esas lineas.

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.