Construir una aplicación offline en Jitterbit App Builder
Introducción
Una aplicación offline es una aplicación de App Builder que puede ejecutarse en un dispositivo móvil iOS o Android sin conexión a la red. Las aplicaciones offline son útiles en casos donde los usuarios tienen conexiones a internet limitadas o intermitentes.
Una aplicación offline necesita una aplicación central de App Builder con la que sincronizarse. La aplicación central es una aplicación de App Builder completamente funcional, mientras que la versión offline es generalmente una versión simplificada de la aplicación central. Las aplicaciones offline y central tienen bases de datos, fuentes, lógica y páginas similares pero separadas.
La sincronización entre las dos aplicaciones se realiza con Conectores de App Builder.
Importante
La sincronización no puede ser automatizada y debe ser iniciada por el usuario cuando haya una conexión a internet estable.
La autenticación de usuarios de la aplicación offline se realiza a través de la aplicación central y se describe en Autenticación de Aplicaciones Offline.
Requisitos previos
Para construir y desplegar una aplicación de App Builder offline, necesitas lo siguiente:
-
Versión 4.0 o posterior de App Builder.
-
Un dispositivo móvil iOS o Android.
-
Una aplicación completa y lista para su lanzamiento en todos los aspectos, incluyendo la marca, política de privacidad que cubra las jurisdicciones de despliegue, términos y condiciones que el usuario deba aceptar o rechazar, y otras características comúnmente asociadas con aplicaciones móviles ofrecidas a través de tiendas de aplicaciones.
-
Una cuenta de administrador para la tienda de aplicaciones de despliegue (Apple App Store o Google Play Store), y la configuración necesaria de la tienda para permitir la publicación de la aplicación.
Construir tu aplicación central
Sigue nuestras mejores prácticas para un flujo de trabajo de desarrollo de aplicaciones para construir tu aplicación central como una aplicación normal y completamente funcional de App Builder que pueda conectarse a sistemas y recursos de terceros.
Las tablas y reglas de negocio (lógica) que deben ser accesibles en la aplicación offline deben tener habilitados tanto Acceso Público de Lectura como Acceso Público de Escritura. Se recomienda que crees un Rol dedicado para estas tablas y objetos de negocio.
Los usuarios que inician sesión en la aplicación offline en sus dispositivos móviles son autenticados a través del proveedor de seguridad de la aplicación principal.
Se involucran dos tokens de seguridad en la autenticación del usuario:
-
Un token de sesión, que autentica el acceso de un usuario a una aplicación offline. (Este token corresponde al token de sesión de una aplicación de App Builder que no es móvil). Los tokens de sesión tienen un tiempo de expiración predeterminado de dos semanas. Se renuevan, mientras el usuario continúa utilizando la aplicación offline, cuando queda menos de la mitad del período de expiración.
-
Un token remoto, que autentica el acceso de un usuario a la aplicación principal y sus tablas públicas. Los tokens remotos tienen un tiempo de expiración predeterminado de una hora. Una vez expirado, el usuario debe re-autenticarse con la aplicación principal, pero esto sucede automáticamente si el usuario consulta una tabla remota en la aplicación offline.
Consejo
Dado que el tiempo de expiración para los tokens remotos no se puede cambiar, deberías considerar desarrollar tu aplicación offline para que se comunique con la aplicación principal poco después de la autenticación del usuario, y antes de que el token remoto expire.
Construye tu aplicación offline
Utiliza las siguientes pautas para construir tu aplicación offline como una versión ligera y simplificada de la aplicación principal, con solo las tablas, columnas, páginas, lógica o recursos esenciales necesarios para que funcione:
-
Datos y fuentes:
-
Utiliza la función de copia de App Builder para copiar tablas esenciales de la base de datos de tu aplicación principal a la base de datos de la aplicación offline.
-
Revisa las tablas copiadas y elimina cualquier columna no esencial.
-
Agrega la aplicación principal como un Conector de App Builder como fuente de datos.
-
Utiliza el conector para importar las tablas y objetos de negocio que la aplicación offline necesita.
-
Verifica que todas las tablas en el Conector de App Builder tengan habilitado tanto el Acceso Público de Lectura como de Escritura.
-
Verifica que no haya recursos dependientes de internet, como los siguientes:
-
Puntos finales de la API REST.
-
Widgets que utilizan servicios de terceros.
-
-
-
Temas con fuentes u otros activos basados en internet.
-
Sincronización de núcleo a fuera de línea:
-
Crea una regla XP CRUD para extraer datos del Conector de App Builder a la base de datos de tu aplicación fuera de línea.
-
Agrega un botón (por ejemplo, Extraer datos de la aplicación principal) que llame a esta regla.
-
-
Sincronización de fuera de línea a núcleo:
-
Crea otra regla XP CRUD para enviar datos desde la base de datos de la aplicación fuera de línea a la aplicación principal (a través del Conector de App Builder).
-
Agrega otro botón (por ejemplo, Enviar datos a la aplicación principal) que llame a esta regla CRUD.
-
Para sincronizar solo los registros cambiados, utiliza los campos Audit Lite
AddedOn
yChangedOn
, o agrega una columna que se establezca cuando una fila cambia y se restablezca cuando se sincroniza. -
Para alertar al usuario que hay una conexión a internet disponible, o para habilitar y deshabilitar los botones de sincronización, utiliza la función en tiempo de ejecución
system(networkstatus)
.
-
Despliega tu aplicación fuera de línea
Cuando tu aplicación fuera de línea esté lista, el soporte de Jitterbit despliega la aplicación en la App Store de Apple (iOS) o en Google Play Store (Android), desde donde los usuarios pueden descargarla en sus dispositivos móviles.
A diferencia de la aplicación principal, que tú liberas tú mismo, si cambias la aplicación fuera de línea, debe ser redeplegada por el soporte de Jitterbit.
Limitaciones
Antes de comenzar a construir tu aplicación fuera de línea, debes estar al tanto de las siguientes limitaciones:
-
La base de datos de una aplicación fuera de línea se borra cuando la aplicación se actualiza.
-
Sincronizar un gran número de registros (10,000 o más) puede tardar mucho tiempo.
-
Los horarios en segundo plano no se ejecutan cuando la aplicación de App Builder en el dispositivo móvil está cerrada.
-
Las aplicaciones fuera de línea no pueden crear PDFs en dispositivos móviles.