Cree una aplicación sin conexión en Jitterbit App Builder
Introducción
Una aplicación sin conexión es una aplicación de App Builder que puede ejecutarse en un dispositivo móvil iOS o Android sin conexión a la red. Son útiles cuando los usuarios tienen una conexión a internet limitada o intermitente.
Una aplicación sin conexión necesita una aplicación principal de App Builder para sincronizarse. La aplicación principal es una aplicación completa de App Builder, mientras que la versión sin conexión suele ser una versión simplificada de la aplicación principal. Las aplicaciones sin conexión y principal tienen bases de datos, fuentes, lógica y páginas similares, pero independientes.
La sincronización entre las dos aplicaciones se realiza con App Builder Connectors.
Importante
La sincronización no se puede automatizar y debe ser iniciada por el usuario cuando exista una conexión a internet estable.
La autenticación del usuario de la aplicación sin conexión se realiza a través de la aplicación principal y se describe en Autenticación de la aplicación sin conexión.
Prerrequisitos
Para crear e desplegar una aplicación de App Builder sin conexión, necesita lo siguiente:
-
App Builder versión 4.0 o posterior.
-
Un dispositivo móvil iOS o Android.
-
Una aplicación completa y lista para su lanzamiento en todos los aspectos, incluida la marca, la política de privacidad que cubre las jurisdicciones de despliegue, los términos y condiciones que el usuario puede aceptar o rechazar, y otras características comúnmente asociadas con las aplicaciones móviles ofrecidas a través de las tiendas de aplicaciones.
-
Una cuenta de administrador de la tienda de aplicaciones de despliegue (Apple App Store o Google Play Store) y la configuración de la tienda necesaria para permitir la publicación de la aplicación.
Crea tu aplicación principal
Siga nuestras mejores prácticas para un flujo de trabajo de desarrollo de aplicaciones para crear su aplicación principal como una aplicación App Builder normal y con todas las funciones que puede conectarse a sistemas y recursos de externo.
Las tablas y reglas de negocio (lógica) accesibles en la aplicación sin conexión deben tener habilitados tanto el acceso público de lectura como el de escritura. Se recomienda crear un rol sin conexión dedicado para estas tablas y objetos comerciales.
Los usuarios que inician sesión en la aplicación sin conexión en sus dispositivos móviles se autentican a través del proveedor de seguridad de la aplicación principal.
En la autenticación del usuario intervienen dos tokens de seguridad:
-
Un token de sesión, que autentica el acceso de un usuario a una aplicación sin conexión. (Este token corresponde a la sesión de una aplicación no móvil de App Builder los tokens de sesión tienen una caducidad predeterminada de dos semanas. Se renuevan mientras el usuario continúa usando la aplicación sin conexión, cuando queda menos de la mitad del periodo de caducidad.
-
Un token remoto, que autentica el acceso del usuario a la aplicación principal y sus tablas públicas. Los tokens remotos tienen una caducidad predeterminada de una hora. Una vez caducados, el usuario debe volver a autenticarse en la aplicación principal, pero esto ocurre automáticamente si consulta una tabla remota en la aplicación sin conexión.
Consejo
Dado que el tiempo de expiración de los tokens remotos no se puede modificar, debería considerar desarrollar su aplicación sin conexión para que se comunique con la aplicación principal poco después de la autenticación del usuario y antes de que caduque el token remoto.
Crea tu aplicación sin conexión
Utilice las siguientes pautas para crear su aplicación sin conexión como una versión liviana y reducida de la aplicación principal, con solo las tablas, columnas, páginas, lógica o recursos esenciales mínimos necesarios para que funcione:
-
Datos y fuentes:
-
Utilice la función de copia de App Builder para copiar tablas esenciales de la base de datos principal de su aplicación a la base de datos de la aplicación sin conexión.
-
Revise las tablas copiadas y elimine las columnas que no sean esenciales.
-
Agregue la aplicación principal como un conector de App Builder fuente de datos.
-
Utilice el conector para importar las tablas y los objetos comerciales que necesita la aplicación sin conexión.
-
Verifique que todas las tablas en el conector de App Builder tengan habilitado el acceso público de lectura y escritura.
-
Verificar que no existan recursos que dependan de Internet, como los siguientes:
-
extremos de la API REST.
-
Widgets que utilizan servicios de externo.
-
Temas con fuentes u otros recursos basados en Internet.
-
-
-
Sincronización de núcleo a fuera de línea:
-
Crear una regla CRUD de XP para extraer datos del conector de App Builder a su base de datos de aplicaciones sin conexión.
-
Agrega un botón (por ejemplo, Extraer datos de la aplicación principal) que llama a esta regla.
-
-
Sincronización sin conexión al núcleo:
-
Cree otra regla CRUD de XP para enviar datos desde la base de datos de la aplicación sin conexión a la aplicación principal (a través del conector de App Builder).
-
Agregue otro botón (por ejemplo, Enviar datos a la aplicación principal) que llame a esta regla CRUD.
-
Para sincronizar solo los registros modificados, utilice Audit Lite campos
AddedOn
yChangedOn
, o agregue una columna que se establece cuando cambia una fila y se restablece cuando se sincroniza. -
Para alertar al usuario de que hay una conexión a Internet disponible, o para habilitar y deshabilitar los botones de sincronización, utilice la función de tiempo de ejecución
system(networkstatus)
.
-
Implementa tu aplicación sin conexión
Cuando tu aplicación sin conexión esté lista, Compatibilidad con Jitterbit implementa la aplicación en la App Store de Apple (iOS) o en la Play Store de Google (Android), desde donde los usuarios pueden descargarla en sus dispositivos móviles.
A diferencia de la aplicación principal, que libera Si cambia la aplicación sin conexión, el soporte de Jitterbit debe volver a desplegarla.
Limitaciones
Antes de comenzar a crear su aplicación sin conexión, debe tener en cuenta las siguientes limitaciones:
-
La base de datos de una aplicación sin conexión se borra cuando se actualiza la aplicación.
-
Sincronizar una gran cantidad de registros (10 000 o más) puede llevar mucho tiempo.
-
Las programaciones en segundo plano no se ejecutan cuando la aplicación App Builder en el dispositivo móvil está cerrada.
-
Las aplicaciones sin conexión no pueden crear archivos PDF en dispositivos móviles.