Identificar y mitigar problemas de rendimiento de la aplicación Canvas

Los problemas de rendimiento en las aplicaciones de lienzo suelen aparecer gradualmente a medida que la aplicación crece y cambia, lo que hace que sea difícil que los desarrolladores de aplicaciones los detecten de inmediato. Las pequeñas ineficiencias se acumulan con el tiempo, especialmente a medida que la aplicación utiliza más datos, y pueden afectar la experiencia y la productividad del usuario. Para evitar estos problemas, identifique y solucione los posibles cuellos de botella de rendimiento durante el desarrollo en lugar de esperar hasta que se complete la aplicación. La detección temprana y las correcciones mantienen el buen rendimiento de la aplicación, reducen las revisiones costosas y brindan a los usuarios una experiencia más confiable y amigable.

Referencias entre pantallas

Las referencias entre pantallas se producen cuando una aplicación utiliza controles o variables de una pantalla en otra pantalla. Pueden afectar el rendimiento y dificultar el mantenimiento.

Cómo se crean las referencias entre pantallas

En las aplicaciones de lienzo, las referencias entre pantallas se producen cuando una pantalla depende de controles o datos de otra pantalla. Por ejemplo, una etiqueta en la Pantalla A hace referencia al valor de un control de ingreso de texto en la Pantalla B. Esta situación ocurre cuando los desarrolladores reutilizan controles o datos en múltiples pantallas sin separar o administrar claramente el flujo de datos.

Por qué las referencias entre pantallas afectan negativamente el rendimiento

Las referencias entre pantallas ralentizan el rendimiento de la aplicación porque obligan a cargar y evaluar varias pantallas simultáneamente, incluso cuando el usuario usa solo una. Power Apps Esta carga y evaluación adicionales aumentan el uso de memoria y la sobrecarga de procesamiento, lo que ralentiza la capacidad de respuesta de la aplicación y provoca demoras en las interacciones del usuario.

Por ejemplo, para mostrar la Pantalla A, Power Apps interpreta las fórmulas de todos los controles en la Pantalla A. Debido a que la etiqueta en la Pantalla A necesita información del control de texto en la Pantalla B, Power Apps también debe cargar completamente la Pantalla B e interpretar sus fórmulas para obtener el valor necesario. El usuario debe esperar a que se carguen tanto la Pantalla B como la Pantalla A antes de que aparezca la Pantalla A.

Las referencias entre pantallas también hacen que la aplicación sea más difícil de mantener y depurar. Los cambios en una pantalla pueden afectar involuntariamente a otras pantallas, lo que genera un comportamiento inesperado y una mayor complejidad.

Cómo identificar referencias entre pantallas

Para encontrar referencias entre pantallas en sus aplicaciones de lienzo:

  • Revise las fórmulas de su aplicación y busque referencias a controles o variables de otras pantallas.
  • Utilice la herramienta App Checker incorporada para resaltar posibles problemas de rendimiento, incluidas referencias entre pantallas. Power Apps Studio Estas referencias aparecen en la sección de rendimiento del Comprobador de aplicaciones, en "Carga con retraso ineficiente".

Cómo mitigar las referencias entre pantallas

Para evitar referencias entre pantallas y mejorar el rendimiento, siga estas prácticas recomendadas:

  • Utilice variables o colecciones: en lugar de hacer referencia a controles en otras pantallas, almacene datos compartidos en variables o colecciones. Este enfoque separa los datos de los elementos de la interfaz de usuario y reduce las dependencias innecesarias.
  • Pasar datos a través de parámetros de navegación: al navegar entre pantallas, pase los datos necesarios como parámetros. Esta estrategia mantiene cada pantalla autónoma y carga solo los datos que necesita.
  • Encapsular la lógica: mantenga la lógica y el manejo de datos dentro de la misma pantalla o utilice componentes reutilizables para administrar la funcionalidad. Esta práctica reduce la complejidad y evita dependencias entre pantallas no deseadas.

Seleccionar consultas de datos N+1

Las consultas de datos seleccionadas N+1 ocurren cuando una aplicación realiza una consulta para obtener una lista de registros y luego realiza más consultas para cada registro. Este patrón provoca problemas de rendimiento y tiempos de carga más largos.

Cómo se crean las consultas de datos Select N+1

En las aplicaciones de lienzo, las consultas Select N+1 ocurren cuando una aplicación obtiene una lista de elementos de una fuente de datos (la consulta inicial) y ejecuta más consultas para cada elemento para recuperar detalles o datos relacionados. Por ejemplo, una aplicación podría obtener primero una lista de pedidos de clientes (la consulta inicial) y, para cada pedido, obtener por separado los detalles del cliente o la información del producto (las consultas "más"). Este patrón consta de una consulta inicial más "N" consultas más, donde "N" es el número de elementos de la primera consulta, por eso se llama "Seleccionar N+1".

Este escenario ocurre a menudo cuando los desarrolladores usan funciones como LookUp, Filter o First dentro de bucles o galerías. La aplicación consulta repetidamente la fuente de datos para cada elemento mostrado.

¿Por qué las consultas Select N+1 afectan negativamente al rendimiento?

Seleccionar N+1 consultas ralentiza el rendimiento de la aplicación porque cada consulta adicional agrega más llamadas de red, procesamiento y demoras. En lugar de recuperar todos los datos necesarios en un solo paso, la aplicación se comunica repetidamente con la fuente de datos, lo que genera demoras y hace que la aplicación parezca lenta para el usuario. A medida que aumenta el número de elementos, el rendimiento empeora y los usuarios se sienten frustrados.

Por ejemplo, una aplicación podría mostrar una galería de 50 pedidos de clientes. Si la aplicación obtiene la lista inicial de pedidos con una consulta, se trata de una llamada de red. Si la aplicación utiliza una cuenta separada LookUp Función en la galería para obtener detalles del cliente para cada pedido, realiza 50 llamadas de red más, una por cada pedido. Esto significa 51 solicitudes de red en total (una consulta inicial más 50 más), lo que aumenta el tráfico de red y la demora en comparación con obtener todos los datos en un solo paso.

Cómo identificar consultas Select N+1

Para encontrar consultas Select N+1 en su aplicación de lienzo:

  • Revise las fórmulas de su aplicación, especialmente en galerías, bucles o controles repetidos, para funciones como LookUp, Filter, o First que utilizan fuentes de datos externas.
  • Utilice la herramienta Comprobador de aplicaciones incorporada en Power Apps Studio. Destaca posibles problemas de rendimiento, como consultas de datos ineficientes. Estos problemas generalmente aparecen en la sección "Rendimiento" como operaciones de datos ineficientes o demasiadas llamadas de datos.
  • Verifique las solicitudes de red con las herramientas para desarrolladores del navegador o Power Apps Monitorea para determinar si hay llamadas repetidas a la misma fuente de datos al cargar o usar tu aplicación.

Cómo mitigar las consultas Select N+1

Para corregir las consultas Select N+1 y hacer que su aplicación sea más rápida, pruebe estos consejos:

  • Recuperación de datos por lotes :Obtenga todos los datos necesarios en una sola consulta o en la menor cantidad de consultas posible. Por ejemplo, utilice un solo Collect o ClearCollect operación para obtener datos relacionados con antelación y luego utilizar esta colección local en sus galerías o bucles.
  • Utilizar colecciones y variables :Almacene datos utilizados con frecuencia en colecciones o variables cuando se inicia su aplicación o se carga una pantalla. Este enfoque reduce las llamadas repetidas a la fuente de datos, lo que mejora el tiempo de respuesta de su aplicación.
  • Delegación de apalancamiento :Asegúrese de que sus consultas sean delegables, de modo que la fuente de datos maneje el filtrado y la clasificación. La delegación reduce la cantidad de datos enviados a su aplicación y evita el procesamiento adicional.
  • Optimizar la estructura de datos :Cambie su fuente de datos para incluir datos relacionados en una tabla o vista. Este enfoque reduce la necesidad de realizar búsquedas o consultas adicionales.

Al identificar y resolver referencias entre pantallas y patrones de consulta Select N+1 de forma temprana, mejora la velocidad, la capacidad de respuesta y la facilidad de uso de su aplicación de lienzo.

Última palabra

Encontrar problemas y optimizar el rendimiento son partes naturales del ciclo de vida del desarrollo de aplicaciones. Cuanto más compleja sea su aplicación y sus patrones de uso, más probabilidades tendrá de encontrar problemas.

Estándares de codificación claros y una comunidad sólida que comparte esos estándares y sus beneficios lo ayudan a crear aplicaciones a escala.