Couchbase Móvil

iOS: Background Fetch para sincronizar las historias de Hacker News

Introducción

En este tutorial, usted aprenderá cómo utilizar Sync Gateway y Couchbase Lite para sincronizar las últimas historias de Hacker News a
una aplicación para iOS.

Nos centraremos específicamente en la función Background Fetch añadida en iOS 7: ahora las aplicaciones pueden realizar pequeñas operaciones en segundo plano para obtener los datos más recientes del servidor. Si tu aplicación se ha registrado para Background Fetch, el sistema operativo despertará periódicamente tu aplicación para realizar una actualización y el tiempo máximo asignado en un Background Fetch es de 30 segundos.

Es un caso perfecto para una replicación pull de una sola vez. Así que empecemos.

El código fuente de este tutorial se encuentra en GitHub.

Trabajar con Sync Gateway

El primer paso es configurar Sync Gateway. Descargue la última edición comunitaria aquí. Utilicemos un
configuración sencilla para este ejemplo. En un nuevo archivo llamado config.json pega lo siguiente:

El punto importante a tener en cuenta es que estamos utilizando la función morsa base de datos que guarda los documentos en la memoria. Con morsalos documentos no se conservan cuando
reiniciando Sync Gateway. En segundo lugar, hemos habilitado el INVITADO y darle acceso a todos los canales. Puede añadir el control de acceso
y la lógica de gestión de usuarios, pero para este ejemplo desarrollaremos sin restricciones, lo que suele ser una buena forma de crear prototipos.

Ahora vamos a iniciarlo desde la línea de comandos con este archivo de configuración:

Iniciar la aplicación iOS

He configurado el proyecto Xcode con Cocoapods para gestionar las dependencias, ejecutar instalar pod para asegurarse de tener la CouchbaseLite
vinculado al proyecto. Abrir HackerNewsSync+BackgroundFetch.xcworkspace en Xcode y ejecuta la aplicación en el simulador.

Debería ver una vista de tabla vacía:

De hecho, primero debemos añadir algunas historias de Hacker News a Sync Gateway.

Noticias Hacker

Utilicemos el script NodeJS en worker.js para obtener las mejores historias de la API de Hacker News. Utilizaremos Mashape
para eso. Consigue una llave Mashape en aquí
y péguelo en el campo worker.js en lugar de XXXX-XXXX-XXXX-XXXX.

Instale las dependencias ejecutando npm instalar y poner en marcha el trabajador:

$ node worker.js
 

Obtendrá las historias principales de la API de Hacker News y guardará 5 de ellas en Sync Gateway. No es necesario procesar los datos, simplemente enviamos la respuesta directamente al puerto de administración de Sync Gateway, que creará un nuevo documento para cada historia principal.

Activar una búsqueda en segundo plano

Para activar una búsqueda en segundo plano, podemos utilizar la función Depurar > Simular búsqueda en segundo plano en Xcode:

Esto enviará tu aplicación a un segundo plano y llamará a la función aplicación:performFetchWithCompletionHandler:
observe que iniciamos una replicación pull y registramos un receptor de eventos de cambio para cerrar la operación de obtención en segundo plano cuando el método 
estado de la replicación ha finalizado (kCBLReplicationStopped). Abra la aplicación y verá la vista de tabla ya rellenada:

Utilizar background fetch en tu aplicación puede mejorar enormemente la experiencia de usuario y la velocidad percibida por los usuarios.

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. @james Es un buen artículo. Pero no se ejecuta en Xcode10.0
    ¿Puede facilitarnos el código de la versión swift con la última CBL?

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.