Optimizar aplicaciones de lienzo
Los dos métodos principales para el desarrollo son el imperativo y el declarativo. El desarrollo imperativo se centra en cómo lograr un objetivo, mientras que el desarrollo declarativo se centra en cómo especificar un resultado deseado. El desarrollo imperativo proporciona una mayor flexibilidad, ya que permite controlar todos los pasos del proceso, pero suele requerir más código y es más complejo. El desarrollo declarativo es más sencillo y fácil de usar, pero puede que no ofrezca el mismo nivel de control.
Las aplicaciones de lienzo toman el "qué" declarativo y optimizan el "cómo". En algunos casos, es posible que no pueda expresar con precisión el resultado deseado de forma declarativa; es por eso que Power Apps permite el uso de técnicas imperativas. Un error común es usar el desarrollo imperativo cuando las opciones declarativas serían más sencillas y funcionarían mejor.
Las aplicaciones de lienzo pueden ser visualmente atractivas, pero el rendimiento tiene un mayor impacto en la adopción del usuario.
Para obtener más información sobre el desarrollo imperativo y declarativo, consulte Utilizar técnicas de desarrollo imperativas para aplicaciones de lienzo en Power Apps.
En las siguientes secciones, se analizan las técnicas para optimizar el rendimiento de la aplicación de lienzo.
Descargar la lógica a los componentes del lado del servidor
A medida que las fórmulas de la aplicación crecen en tamaño y complejidad, descargar la lógica en otros servicios Microsoft Power Platform o del servidor podría ser una buena opción. Los flujos de nube de Microsoft Power Automate, las reglas de negocio, los complementos y otras características del servidor en Dataverse pueden gestionar la lógica.
Nota
Una técnica común es descargar la lógica en un flujo de nube de Power Automate que utiliza el desencadenador de Power Apps. El flujo se puede llamar desde una expresión de Power Apps que pase datos al flujo y devuelva un resultado.
También puede crear conectores personalizados para Microsoft Azure Functions u otros servicios lógicos. Si utiliza el desarrollo imperativo en una aplicación, evalúe si la lógica sería más adecuada en otro lugar.
Mejorar el rendimiento de la aplicación
Algunos problemas frecuentes con el rendimiento
- Acceso a datos: las aplicaciones recuperan grandes conjuntos de datos en colecciones y realizan operaciones en el cliente, como Unir, Ordenar, Agregar columna y Agrupar por.
- Fórmulas en OnStart: las aplicaciones desencadenan llamadas de datos innecesarias en startup, lo que genera la devolución de grandes registros.
- Recuperación repetida de datos: use la función Establecer para almacenar en caché los datos de las tablas de búsqueda localmente.
Dígales a los creadores que usen la función ClearCollect para almacenar en caché los datos en OnStart, y use la función Concurrent para reducir el tiempo de carga de muchos conjuntos de datos.
Las siguientes imágenes ilustran la carga de conjuntos de datos secuencial o simultáneamente:
Con tantas opciones de configuración, el rendimiento debe tenerse en cuenta continuamente. Las mejoras y el análisis deben ser continuos. Consulte los orígenes con rendimiento lento, problemas de rendimiento comunes y sugerencias de rendimiento.
El arquitecto de soluciones debe implementar una estrategia de ajuste del rendimiento de la aplicación de lienzo.
Una estrategia de ajuste debe lograr lo siguiente:
- Evitar trabajos innecesarios
- Aplazar el trabajo que es muy probable que no necesitemos
- Paralelizar el trabajo siempre que sea posible
- Supervisar el uso de la aplicación para detectar problemas de rendimiento
Utilice un indicador visual de progreso para informar a los usuarios durante operaciones de larga duración.
Use Test Studio, Azure Monitor y Application Insights
Las aplicaciones de lienzo deben probarse a fondo para garantizar su fiabilidad. Microsoft proporciona Test Studio para realizar pruebas de regresión, que se pueden incluir en procesos de compilación automatizados.
Test Studio incluye lo siguiente:
- Conjuntos: grupos de casos de prueba.
- Pruebas: conjuntos de pasos de prueba para validar el comportamiento de la aplicación.
- Pasos de prueba: acciones escritas en el lenguaje de expresiones de Power Apps.
- Aserciones de prueba: resultados esperados para la validación.
Microsoft Azure Monitor permite a los creadores transmitir eventos de sesión de usuario para diagnosticar y solucionar problemas. Los creadores pueden ver eventos de Monitor en Power Apps Studio mientras crean una nueva aplicación y supervisar las aplicaciones publicadas en runtime. En el caso de las aplicaciones basadas en modelo, Monitor hace un seguimiento de la navegación, los comandos y los problemas en el nivel de formulario.
Las aplicaciones de lienzo se pueden conectar a Application Insights, una característica de Azure Monitor. Application Insights proporciona herramientas de análisis para diagnosticar problemas y comprender el comportamiento del usuario.
Estos son los datos disponibles en Application Insights:
- Número de usuarios activos
- Ubicaciones donde se ha usado la aplicación
- Pantallas de uso frecuente
- Flujo de usuarios de una pantalla a otra
El arquitecto de soluciones debe decidir si incluye Application Insights en las soluciones de aplicaciones.
Para obtener más información, consulte Application Insights.