Optimizar aplicaciones de lienzo

Completado

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:

Diagrama que muestra la carga secuencial del conjunto de datos

Diagrama que muestra la carga simultánea del conjunto de datos

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.

Diagrama donde se muestra la estrategia del proceso de ajuste

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.

Diagrama que muestra los componentes del conjunto de Test Studio

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.

Captura de pantalla con la herramienta Monitor de eventos

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

Captura de pantalla de Monitor, utilizado para obtener información

El arquitecto de soluciones debe decidir si incluye Application Insights en las soluciones de aplicaciones.

Para obtener más información, consulte Application Insights.