Saltar al contenido

Cómo Crear una Aplicación Sin Conexión

Introducción

Una aplicación sin conexión es una aplicación Vinyl que puede ejecutarse en un dispositivo móvil iOS o Android sin conexión a la red. Las aplicaciones sin conexión son útiles en los casos en que los usuarios tienen conexiones a Internet limitadas o intermitentes.

Una aplicación sin conexión necesita una aplicación principal de Vinyl con la que sincronizarse. La aplicación principal es una aplicación Vinyl con todas las funciones, mientras que la versión fuera de línea es generalmente una versión simplificada de la aplicación principal. Las aplicaciones principales y sin conexión tienen bases de datos, fuentes, lógica y páginas similares pero separadas.

La sincronización entre las dos aplicaciones se realiza con Vinyl Connectors.

Importante

La sincronización no se puede automatizar y debe ser iniciada por el usuario cuando hay una conexión a Internet estable.

La autenticación de 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 aplicación sin conexión.

Requisitos Previos

Para crear e desplegar una aplicación Vinyl sin conexión, necesita lo siguiente:

  • Versión en Vinyl 3.3.34390+.

  • 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 para que el usuario los acepte o rechace, 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 para la tienda de aplicaciones de despliegue (Apple App Store o Google Play Store) y la configuración de tienda necesaria para permitir la publicación de la aplicación.

Cree Su 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 Vinyl normal y con todas las funciones que puede conectarse a sistemas y recursos de externo.

Las tablas y reglas comerciales (lógica) a las que se debe poder acceder en la aplicación sin conexión deben tener habilitado el acceso público de lectura y escritura. Se recomienda crear un rol fuera de línea 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 de usuarios intervienen dos tokens de seguridad:

  1. 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 Vinyl no móvil token.) Los tokens de sesión tienen un tiempo de vencimiento predeterminado de dos semanas. Se renuevan, mientras el usuario continúa utilizando la aplicación offline, cuando reste menos de la mitad del plazo de caducidad.

  2. 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 vencimiento predeterminado de una hora. Una vez caducada, el usuario debe volver a autenticarse con la aplicación principal, pero esto sucede automáticamente si el usuario consulta una tabla remota en la aplicación fuera de línea.

    Consejo

    Dado que el tiempo de vencimiento de los tokens remotos no se puede cambiar, debe considerar desarrollar su aplicación fuera de línea 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.

Cree Su Aplicación Sin Conexión

Utilice las siguientes pautas para crear su aplicación sin conexión como una versión liviana y simplificada de la aplicación principal, con solo las tablas, columnas, páginas, lógica o recursos mínimos esenciales necesarios para que funcione:

  • Datos y fuentes

    • Utilice la función de copia de Vinyl para copiar tablas esenciales desde la base de datos principal de su aplicación a la base de datos de la aplicación fuera de línea.

    • Revise las tablas copiadas y elimine las columnas no esenciales.

    • Agregue la aplicación principal como Conector de Vinyl 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 Vinyl Connector tengan habilitado el acceso público de lectura y escritura.

    • Verifique que no haya recursos dependientes de Internet, como los siguientes:

      • extremos de API REST

      • Widgets que utilizan servicios de externo

      • Temas con fuentes u otros recursos basados en Internet

  • Sincronización del núcleo al fuera de línea

    • Crea una regla XP CRUD para extraer datos del Vinyl Connector a la base de datos de su aplicación fuera de línea.

    • Agregue un botón (por ejemplo, Extraer datos de la aplicación principal) que llame 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 fuera de línea a la aplicación principal (a través de Vinyl Connector).

    • 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 y ChangedOn, o agregue una columna que se configura cuando cambia una fila y se restablece 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, use la función de tiempo de ejecución. system(networkstatus).

Implemente Su Aplicación Sin Conexión

Cuando su aplicación sin conexión esté lista, Soporte Jitterbit implementa la aplicación en Apple App Store (iOS) o Google Play Store (Android), desde donde los usuarios pueden descargarla en sus dispositivos móviles.

A diferencia de la aplicación principal, que usted libera usted mismo, si cambia la aplicación fuera de línea, el soporte técnico 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 fuera de línea se borra cuando se actualiza la aplicación.

  • La sincronización de 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 Vinyl en el dispositivo móvil está cerrada.