Recientemente hemos estado teniendo varios requerimientos de clientes que ocupan convertir o crear aplicaciones canvas de Power Apps en modo offline o fuera de línea, sobre todo en escenarios donde el internet es intermitente o no hay señal alguna cerca, empleados de primera línea (FLW) pueden aprovechar esta característica en su trabajo en campo.
Si no conocen sobre esta característica de Power Apps o desean implementarla en sus aplicaciones Canvas les dejo este enlace donde aparece la documentación oficial: Develop offline-capable canvas apps – Power Apps | Microsoft Docs.
De entrada deben conocer que la funcionalidad está habilitada para escenarios Mobile solamente, es decir, si la aplicación Canvas se consume desde el browser o desktop app no se habilitará ni usará esta función, la funcionalidad reconoce automáticamente cuando la aplicación está siendo usada desde un dispositivo móvil, no es necesario configurar nada adicional.
Lo primero que se necesita agregar a la lógica de la aplicación es determinar cuando el dispositivo tiene o no conexión a internet, para ello se utiliza la función “Connection” que tiene dos propiedades:
Propiedad | Descripción |
---|---|
Connection.Connected | Regresa un true o false indicando si el dispositivo tiene o no conexión a internet. |
Connection.Metered | Regresa un true o false indicante si el dispositivo está conectado a una red de datos móviles |
Para más detalles de esta y otras funciones útiles para escenarios móviles, pueden ver el siguiente artículo: Acceleration, App, Compass, Connection, and Location signals – Power Apps | Microsoft Docs.
Cuando no tengamos conexión o sea una conexión de datos móviles, cada solución definirá la necesidad, entonces podemos usar las funciones “LoadData” y “SaveData” para usar la memoria local del dispositivo y guardar/leer temporalmente los datos cifrados hasta tener nuevamente una conexión estable y, definiendo el proceso lógico, sincronizar los datos. Pueden conocer más sobre estas funciones en el siguiente artículo: SaveData and LoadData functions – Power Apps | Microsoft Docs.
Es importante mencionar las letras chiquitas:
Las funciones usan una colección local que se guarda en memoria, por lo que esta limitada a la cantidad de memoria disponible en el dispositivo. Se recomienda tener entre 30 y 70 MB de memoria disponible en el dispositivo para usar esta funcionalidad, pero depende del dispositivo, el sistema operativo, la memoria consumida por Power Apps y la complejidad de las operaciones de datos, controles y pantallas de la aplicación. Lo mejor es probar y obtener estadísticas de consumo de memoria en el tipo de dispositivo que los usuarios van a utilizar.
Las funciones no resuelven conflictos de sincronización cuando el dispositivo se reconecta, el desarrollador debe manejar estos procesos en la lógica de la aplicación.
Aplicaciones Canvas integradas en Teams, como aplicación nativa o externa, no soportan esta funcionalidad por el momento, debido a que tenemos una capa intermedia entre la aplicación y el dispositivo.
Si tienen dudas o sugerencias de esta funcionalidad, por favor háganlas llegar a nuestro equipo de ingeniería de Power Apps a través de nuestro foro: Building Power Apps – Power Platform Community (microsoft.com).
Y sigan el blog de la comunidad de Power Apps para conocer nuevas características para ustedes: News & Announcements – Power Platform Community (microsoft.com).
Saludos;
Vladimir Medina
Program Manager – Microsoft Teams