Saltar al contenido

Crear 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 de red. Las aplicaciones sin conexión resultan útiles cuando los usuarios tienen conexiones a internet limitadas o intermitentes.

Una aplicación sin conexión necesita una aplicación central de App Builder con la que sincronizarse. La aplicación central es una aplicación App Builder con todas las características, mientras que la versión sin conexión es generalmente una versión simplificada de la aplicación central. Las aplicaciones sin conexión 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 automatizarse y debe iniciarse manualmente por el usuario cuando hay una conexión a internet estable.

La autenticación de usuarios de la aplicación sin conexión se realiza a través de la aplicación central y se describe en Autenticación de la aplicación sin conexión.

Requisitos previos

Para construir e implementar una aplicación App Builder sin conexión, se 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, incluyendo marca, política de privacidad que cubra las jurisdicciones de implementación, términos y condiciones para que el usuario acepte o rechace, 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 implementación (Apple App Store o Google Play Store) y la configuración de tienda necesaria para permitir la publicación de la aplicación.

Construir la aplicación central

Sigue nuestras mejores prácticas para un flujo de trabajo de desarrollo de aplicaciones para construir la aplicación central como una aplicación App Builder normal y completa 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 sin conexión deben tener tanto Acceso público de lectura como Acceso público de escritura habilitados. Se recomienda que crees un Rol sin conexión dedicado para estas tablas y objetos de negocio.

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 central.

Dos tokens de seguridad intervienen en la autenticación de usuarios:

  1. Un token de sesión, que autentica el acceso de un usuario a una aplicación sin conexión. (Este token corresponde al token de sesión de una aplicación App Builder que no es móvil.) Los tokens de sesión tienen un tiempo de vencimiento predeterminado de dos semanas. Se renuevan, mientras el usuario continúa usando la aplicación sin conexión, cuando menos de la mitad del período de vencimiento permanece.

  2. Un token remoto, que autentica el acceso de un usuario a la aplicación central y sus tablas públicas. Los tokens remotos tienen un tiempo de vencimiento predeterminado de una hora. Una vez vencidos, el usuario debe re-autenticarse con la aplicación central, pero esto sucede automáticamente si el usuario consulta una tabla remota en la aplicación sin conexión.

    Consejo

    Dado que el tiempo de vencimiento para los tokens remotos no se puede cambiar, deberías considerar desarrollar tu aplicación sin conexión para que se comunique con la aplicación central poco después de la autenticación del usuario y antes de que expire el token remoto.

Construir la aplicación sin conexión

Utiliza las siguientes directrices para construir tu aplicación sin conexión como una versión simplificada y ligera de la aplicación central, con solo las tablas, columnas, páginas, lógica o recursos mínimos 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 central a la base de datos de la aplicación sin conexión.

    • Revisa las tablas copiadas y elimina columnas no esenciales.

    • Añade la aplicación central como fuente de datos de Conector de App Builder.

    • Utiliza el conector para importar las tablas y objetos de negocio que la aplicación sin conexión necesita.

    • Verifica que todas las tablas en el Conector de App Builder tengan tanto Acceso público de lectura como de escritura habilitados.

    • Verifica que no haya recursos dependientes de internet, como los siguientes:

  • Puntos finales de API REST.

  • Widgets que utilizan servicios de terceros.

  • Temas con fuentes u otros activos basados en Internet.

  • Sincronización de núcleo a sin conexión:

    • Crear una regla XP CRUD para extraer datos del Conector de App Builder a la base de datos de tu aplicación sin conexión.

    • Añadir un botón (por ejemplo, Extraer datos de la aplicación principal) que llame a esta regla.

  • Sincronización de sin conexión a núcleo:

    • Crear otra regla XP CRUD 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).

    • Añadir otro botón (por ejemplo, Enviar datos a la aplicación principal) que llame a esta regla CRUD.

    • Para sincronizar solo registros modificados, usa los campos de Audit Lite AddedOn y ChangedOn, o añade una columna que se establezca cuando cambie una fila y se reinicie cuando se sincronice.

    • Para alertar al usuario de que hay disponible una conexión a Internet, o para habilitar y deshabilitar los botones de sincronización, usa 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, Jitterbit support implementa 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 publicas tú mismo, si cambias la aplicación sin conexión, deberá ser reimplementada por Jitterbit support.

Limitaciones

Antes de comenzar a crear tu aplicación sin conexión, debes conocer las siguientes limitaciones:

  • La base de datos de una aplicación sin conexión se borra cuando se actualiza la aplicación.

  • Sincronizar un gran número de registros (10 000 o más) puede tomar mucho tiempo.

  • Los cronogramas 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 PDF en dispositivos móviles.

Solución de problemas

Para obtener información relacionada sobre la solución de problemas, consulta lo siguiente en la guía de solución de problemas de App Builder: