Optimizar aplicaciones de lienzo

Completado

Las dos formas de desarrollo principales son imperativas y declarativas. El desarrollo imperativo se centra en cómo lograr el objetivo, mientras que el desarrollo declarativo se centra en obtener el resultado. El desarrollo imperativo proporciona una mayor flexibilidad, porque se puede controlar cada paso del proceso, pero requiere más código y una mayor complejidad. El desarrollo declarativo es más sencillo y fácil de usar, pero podría carecer de todo el control que posiblemente quiera.

Las aplicaciones de lienzo toman su "qué" declarativo y optimizan el "cómo". Es posible que no pueda expresar con precisión "qué", por lo que Power Apps le ayudará al permitirle utilizar el desarrollo imperativo. Un error que los creadores suelen cometer es utilizar el desarrollo imperativo cuando el desarrollo declarativo será más sencillo de usar y funcionará mejor.

Las aplicaciones de lienzo se pueden crear para ser atractivas y, si bien es importante tener una aplicación atractiva, las aplicaciones que funcionan bien obtendrán una mejor adopción por parte 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 el trabajo de las aplicaciones

A medida que las fórmulas de las aplicaciones se hacen más grandes y complejas, considere si debería trabajar en otro lugar. El trabajo se puede descargar a flujos de nube de Microsoft Power Automate, reglas comerciales, complementos y otra lógica del lado del servidor de Dataverse.

Nota

Un método 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 reciba un resultado del flujo.

También puede crear conectores personalizados para Microsoft Azure Functions u otra lógica personalizada. Si encuentra que está utilizando un desarrollo imperativo dentro de una aplicación, considere descargar esta lógica a una función más apropiada.

Rendimiento

Los problemas comunes con el rendimiento de la aplicación son:

  • Acceso a los datos: inicialmente, la aplicación obtiene grandes conjuntos de datos en colecciones de datos y luego usa los datos en múltiples pantallas para las operaciones que son complejas para el cliente, como JOIN, Sort, Add Column y Group By.
  • Fórmulas en OnStart: la aplicación activa muchas llamadas de datos innecesarias en las pantallas y estas llamadas de datos devuelven grandes registros de datos.
  • Recuperación repetida de datos del origen: use la función Set para almacenar en caché los datos de las tablas de búsqueda localmente.

Con OnStart, debería animar a los fabricantes a utilizar la función ClearCollect para almacenar en caché los datos localmente y la función Concurrent para reducir el tiempo de carga de los datos almacenados en caché. La primera imagen muestra la carga de cuatro conjuntos de datos sin la función Concurrent y la segunda imagen muestra el proceso con la función Concurrent.

Diagrama que muestra la carga secuencial del conjunto de datos.

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

Con tantas opciones, a menudo debe tenerse en cuenta el rendimiento. El análisis y la mejora de las optimizaciones son esfuerzos continuos. Debe validar las prácticas recomendadas consultando 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:

  • Evitar todos los trabajos que pueda.
  • Aplazar el trabajo que es menos probable que sea necesario.
  • Paralelizar el trabajo siempre que sea posible.
  • Supervisar la aplicación en funcionamiento; el trabajo puede no ser siempre obvio.

Debe utilizar un indicador de progreso para el usuario en trabajos de larga duración.

Test Studio, Azure Monitor y Application Insights

Las aplicaciones de lienzo deben probarse adecuadamente. Microsoft proporciona Test Studio para realizar pruebas de regresión de aplicaciones de lienzo que se pueden incluir en procesos de compilación automatizados.

Test Studio incluye las siguientes características:

  • Suites: se usan Test Suites para organizar o agrupar casos de prueba.
  • Pruebas: los casos de prueba se componen de una serie de pasos de prueba. Los casos de prueba se ejecutan para validar que su aplicación, o características específicas en su aplicación, funcionan como espera.
  • Pasos de prueba: instrucciones o acciones. Los pasos de la prueba se escriben utilizando el lenguaje de expresiones de Power Apps.
  • Aserciones de prueba: el resultado esperado de una prueba.

Diagrama que muestra los componentes de la suite de Test Studio.

Microsoft Azure Monitor es una herramienta que permite a los fabricantes ver un flujo de eventos de la sesión de un usuario para diagnosticar y solucionar problemas. Los creadores de aplicaciones de lienzo pueden usar Monitor para ver eventos mientras crean una nueva aplicación en Power Apps Studio y para supervisar las aplicaciones publicadas en tiempo de ejecución. Los creadores de aplicaciones basadas en modelos pueden supervisar la navegación de página, las implementaciones de comandos, los problemas relacionados con los formularios y otras acciones importantes para comprender el comportamiento de la aplicación y realizar mejoras.

Captura de pantalla que muestra la herramienta Monitor de eventos.

Puede conectar sus aplicaciones de lienzo con Application Insights, una característica de Azure Monitor. Application Insights incluye potentes herramientas de análisis que ayudan a diagnosticar problemas y a comprender qué hacen los usuarios realmente con su aplicación.

Con su aplicación conectada a Application Insights, puede recopilar datos de telemetría sobre cómo los usuarios utilizan realmente su aplicación para ayudarle a mejorar la calidad de sus aplicaciones. Algunas de las funciones de telemetría que puede obtener al configurar esta función incluyen:

  • Número de usuarios activos que utilizan la aplicación.
  • Ubicación de dónde se usa la aplicación.
  • Qué pantallas se utilizan con más frecuencia.
  • Flujo de usuarios de una pantalla a otra.

Captura de pantalla del monitor utilizado para obtener información

Como arquitecto de soluciones, debe decidir si Application Insights se incluirá en las aplicaciones que cree.

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