Crea una Aplicación Sin Conexión
Introducción
Una aplicación sin conexión es an App Builder aplicación 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 un núcleo App Builder aplicación para sincronizar. La aplicación principal es una aplicación con todas las funciones. App Builder aplicación, mientras que la versión sin conexión es generalmente una versión simplificada de la aplicación principal. Las aplicaciones sin conexión y la 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 conectores][ab 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][ab offline auth].
Prerrequisitos
Para construir e desplegar un sistema sin conexión App Builder aplicación, necesitas 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 debe aceptar o rechazar, y otras características comúnmente asociadas con las aplicaciones móviles que se ofrecen 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 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]ab dev workflow
] para crear su aplicación principal como una aplicación normal y con todas las funciones. App Builder aplicación que puede conectarse a sistemas y recursos de externo.
Las tablas y las reglas de negocio (lógica) a las que se debe tener acceso 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 dedicadoab roles perms
] 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.
Hay dos tokens de seguridad involucrados en la autenticación de usuarios:
-
Un token de sesión, que autentica el acceso de un usuario a una aplicación sin conexión. (Este token corresponde a un token que no es móvil) App Builder[sesión][de la aplicación]
ab sessions
] token.) 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 queda menos de la mitad del período de vencimiento. -
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 vencidos, 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 sin conexión.
Sugerencia
Dado que el tiempo de vencimiento de los tokens remotos no se puede cambiar, 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 simplificada 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 App Builder función de copia de para copiar tablas esenciales de la base de datos de la aplicación principal 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 [an App Builder conector][ab connectors] fuente de datos.
-
Use el conector para importar las tablas y los objetos comerciales que necesita la aplicación sin conexión.
-
Verifique todas las tablas en la App Builder el conector tiene habilitado el acceso público de lectura y escritura.
-
Verificar que no existan recursos que dependan de Internet, como los siguientes:
-
extremos de API REST.
-
Widgets que utilizan servicios de externo.
-
Temas con fuentes u otros activos basados en Internet.
-
-
-
Sincronización de núcleo a fuera de línea:
-
Crea una [regla CRUD de XP][ab crud cram] para extraer datos de la App Builder conector a la base de datos de la aplicación sin conexión.
-
Agregue un botón (por ejemplo, Extraer datos de la aplicación principal) que llame a esta regla.
-
-
Sincronización sin conexión con la aplicación principal:
-
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 de la App Builder conector).
-
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, use [Audit Lite][ab 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, [Jitterbit support] Implementa la aplicación en la App Store de Apple (iOS) o en la Google Play Store (Android), desde donde los usuarios pueden descargarla en sus dispositivos móviles.
A diferencia de la aplicación principal, que [libera][ab build release] 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 no está en línea. App Builder la aplicación en el dispositivo móvil está cerrada.
-
Las aplicaciones sin conexión no pueden crear archivos PDF en dispositivos móviles.