{"id":5496,"date":"2026-01-26T12:17:27","date_gmt":"2026-01-26T11:17:27","guid":{"rendered":"https:\/\/creativityspark.es\/optimizacion-del-rendimiento-en-aplicaciones-canvas-parte-i\/"},"modified":"2026-03-09T12:26:14","modified_gmt":"2026-03-09T11:26:14","slug":"optimizacion-del-rendimiento-en-aplicaciones-canvas-parte-i","status":"publish","type":"post","link":"https:\/\/creativityspark.es\/es\/optimizacion-del-rendimiento-en-aplicaciones-canvas-parte-i\/","title":{"rendered":"Optimizaci\u00f3n del Rendimiento en Aplicaciones Canvas &#8211; Parte I"},"content":{"rendered":"<p>Crear <strong>aplicaciones Canvas<\/strong> es m\u00e1s f\u00e1cil que nunca, pero mantenerlas r\u00e1pidas, \u00e1giles y escalables es donde empieza el verdadero oficio.<\/p>\n<p>A medida que las aplicaciones crecen en complejidad, se conectan a m\u00faltiples fuentes de datos y sirven a m\u00e1s usuarios, el rendimiento puede convertirse r\u00e1pidamente en un desaf\u00edo. Las pantallas lentas, los largos tiempos de carga, las advertencias de delegaci\u00f3n y el comportamiento impredecible suelen ser s\u00edntomas de decisiones tomadas al principio del desarrollo.<\/p>\n<p>\u00bfLa buena noticia? La mayor\u00eda de los problemas de rendimiento en Canvas Apps se pueden evitar con los patrones de dise\u00f1o adecuados y una comprensi\u00f3n clara de c\u00f3mo Power Apps eval\u00faa f\u00f3rmulas, recupera datos y carga controles en cada pantalla.<\/p>\n<p>Ya sea que est\u00e9s optimizando una soluci\u00f3n existente o sentando las bases para una nueva, adoptar pr\u00e1cticas centradas en el rendimiento garantiza una experiencia m\u00e1s fluida para tus usuarios y una aplicaci\u00f3n m\u00e1s f\u00e1cil de mantener para tu equipo.<\/p>\n<p>Esta es la primera parte de una serie de art\u00edculos sobre este tema. \u00a1Estad atentos para m\u00e1s novedades!<\/p>\n<h2>Monitorizaci\u00f3n<\/h2>\n<p>Empecemos a explorar las opciones disponibles para entender d\u00f3nde pueden estar los problemas de rendimiento.<\/p>\n<h3>Herramienta de Monitor<\/h3>\n<p>La herramienta Monitor es una de las funciones m\u00e1s potentes, aunque poco utilizadas, disponibles para los desarrolladores de Canvas App. Pi\u00e9nsalo como una radiograf\u00eda para tu aplicaci\u00f3n: revela lo que ocurre entre bastidores cada vez que un usuario abre una pantalla, pulsa un bot\u00f3n o activa una f\u00f3rmula.<\/p>\n<p>Aunque las aplicaciones pueden parecer simples, las Canvas Apps generan una enorme cantidad de actividad en segundo plano: llamadas de red, consultas de datos, evaluaciones de control, actualizaciones de componentes y m\u00e1s. Monitor captura todo esto en tiempo real.<\/p>\n<p>Monitor es una herramienta de diagn\u00f3stico en tiempo real que rastrea y visualiza c\u00f3mo se comporta tu aplicaci\u00f3n Canvas durante la ejecuci\u00f3n.<\/p>\n<p>Registra todos los eventos significativos, incluyendo:<\/p>\n<ul>\n<li>Llamadas a fuentes de datos<\/li>\n<li>F\u00f3rmulas que se est\u00e1n evaluando<\/li>\n<li>Respuestas de los conectores<\/li>\n<li>Eventos de carga para controles y pantallas<\/li>\n<li>Errores, advertencias y mensajes de delegaci\u00f3n<\/li>\n<\/ul>\n<p>Puedes ejecutar Monitor desde Power Apps Studio o conectarlo a una app publicada que use otra persona. Esto la hace extremadamente valiosa no solo para el desarrollo, sino tambi\u00e9n para la resoluci\u00f3n de problemas reportados por los usuarios finales.<\/p>\n<figure id=\"attachment_5254\" aria-describedby=\"caption-attachment-5254\" style=\"width: 1622px\" class=\"wp-caption alignnone\"><img fetchpriority=\"high\" decoding=\"async\" class=\"wp-image-5254 size-full\" src=\"https:\/\/creativityspark.es\/wp-content\/uploads\/2026\/01\/monitor-request.png\" alt=\"\" width=\"1622\" height=\"652\" srcset=\"https:\/\/creativityspark.es\/wp-content\/uploads\/2026\/01\/monitor-request.png 1622w, https:\/\/creativityspark.es\/wp-content\/uploads\/2026\/01\/monitor-request-300x121.png 300w, https:\/\/creativityspark.es\/wp-content\/uploads\/2026\/01\/monitor-request-1024x412.png 1024w, https:\/\/creativityspark.es\/wp-content\/uploads\/2026\/01\/monitor-request-768x309.png 768w, https:\/\/creativityspark.es\/wp-content\/uploads\/2026\/01\/monitor-request-1536x617.png 1536w\" sizes=\"(max-width: 1622px) 100vw, 1622px\" \/><figcaption id=\"caption-attachment-5254\" class=\"wp-caption-text\">Captura de pantalla de la herramienta Monitor<\/figcaption><\/figure>\n<p><strong>Application Insights<\/strong><\/p>\n<p>Aunque la herramienta Monitor es perfecta para diagn\u00f3sticos en tiempo real durante el desarrollo y la resoluci\u00f3n de problemas, no est\u00e1 dise\u00f1ada para un seguimiento continuo y a largo plazo del rendimiento. Ah\u00ed es donde entra Application Insights.<\/p>\n<p style=\"text-align: center;\">Application Insights (App Insights), parte de Azure Monitor, ofrece un enfoque centralizado, escalable y basado en an\u00e1lisis para entender c\u00f3mo se comportan tus aplicaciones Canvas a lo largo del tiempo, en todos los usuarios, todos los dispositivos y todas las sesiones.<\/p>\n<p>Application Insights es un servicio de telemetr\u00eda y monitorizaci\u00f3n basado en la nube que recopila m\u00e9tricas detalladas, rastros, errores y an\u00e1lisis de uso de tus aplicaciones. Cuando se integra con las aplicaciones de Canvas, te permite rastrear:<\/p>\n<ul>\n<li>Cuellos de botella en el rendimiento<\/li>\n<li>Patrones de comportamiento del usuario<\/li>\n<li>Llamadas de datos lentas o fallidas<\/li>\n<li>Ejecuciones de flujo<\/li>\n<li>Eventos personalizados y m\u00e9tricas de tiempo<\/li>\n<li>Errores que ocurren en producci\u00f3n<\/li>\n<li>Geo y uso de dispositivos<\/li>\n<\/ul>\n<p>A diferencia de la herramienta Monitor, que es basada en sesiones, Application Insights captura datos de forma continua, incluso cuando no est\u00e1s observando activamente la aplicaci\u00f3n. Esto lo hace ideal para entornos donde las aplicaciones se usan a gran escala, en diferentes regiones o departamentos.<\/p>\n<p>App Insights and Monitor son m\u00e1s efectivos cuando se usan juntos, porque cumplen funciones diferentes pero complementarias.<\/p>\n<figure id=\"attachment_5258\" aria-describedby=\"caption-attachment-5258\" style=\"width: 946px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" class=\"wp-image-5258 size-full\" src=\"https:\/\/creativityspark.es\/wp-content\/uploads\/2026\/01\/app-insights.png\" alt=\"\" width=\"946\" height=\"554\" srcset=\"https:\/\/creativityspark.es\/wp-content\/uploads\/2026\/01\/app-insights.png 946w, https:\/\/creativityspark.es\/wp-content\/uploads\/2026\/01\/app-insights-300x176.png 300w, https:\/\/creativityspark.es\/wp-content\/uploads\/2026\/01\/app-insights-768x450.png 768w\" sizes=\"(max-width: 946px) 100vw, 946px\" \/><figcaption id=\"caption-attachment-5258\" class=\"wp-caption-text\">Captura de pantalla de parte de la informaci\u00f3n rastreada por Application Insights<\/figcaption><\/figure>\n<h2>Custom Tracing<\/h2>\n<p>Aunque Monitor y Application Insights te ofrecen potentes capacidades de diagn\u00f3stico fuera de la app, a veces necesitas datos de rendimiento desde dentro de la propia app. Esto es especialmente \u00fatil cuando:<\/p>\n<ul>\n<li>Quieres medir el tiempo de ejecuci\u00f3n de una f\u00f3rmula espec\u00edfica<\/li>\n<li>Quieres analizar el impacto en el rendimiento de una pantalla, un componente o una acci\u00f3n del usuario<\/li>\n<li>Quieres enviar telemetr\u00eda de rendimiento a Application Insights<\/li>\n<li>Quieres instrumentaci\u00f3n ligera sin abrir el monitor<\/li>\n<\/ul>\n<p>Aqu\u00ed es donde la funci\u00f3n Trace() de Power Apps se vuelve extremadamente valiosa. Permite escribir entradas de telemetr\u00eda personalizadas que pueden visualizarse en Monitor o enviarse a sistemas externos de telemetr\u00eda como App Insights.<\/p>\n<p>La funci\u00f3n Trace() te permite registrar eventos personalizados directamente desde tu c\u00f3digo Power Fx. Cada traza puede contener:<\/p>\n<ul>\n<li>Un mensaje (string)<\/li>\n<li>Un nivel de gravedad (Informaci\u00f3n, Advertencia, Error)<\/li>\n<li>Una bolsa de propiedades con campos personalizados para una anal\u00edtica enriquecida<\/li>\n<\/ul>\n<p>Por ejemplo:<\/p>\n<p><img decoding=\"async\" class=\"wp-image-5264 size-full aligncenter\" src=\"https:\/\/creativityspark.es\/wp-content\/uploads\/2026\/01\/code-01-1.png\" alt=\"\" width=\"720\" height=\"225\" srcset=\"https:\/\/creativityspark.es\/wp-content\/uploads\/2026\/01\/code-01-1.png 720w, https:\/\/creativityspark.es\/wp-content\/uploads\/2026\/01\/code-01-1-300x94.png 300w\" sizes=\"(max-width: 720px) 100vw, 720px\" \/><code><br \/>\n<\/code><\/p>\n<p>Estos eventos aparecen en:<\/p>\n<ul>\n<li>Monitor (bajo \u00abTraces\u00bb)<\/li>\n<li>Application Insights (si usas la integraci\u00f3n experimental)<\/li>\n<\/ul>\n<p>Esto significa que puedes crear entradas de telemetr\u00eda precisas y definidas por el desarrollador que te dicen exactamente qu\u00e9 ocurri\u00f3 y cu\u00e1ndo.<\/p>\n<p>Power Fx no tiene una funci\u00f3n de \u00abtemporizador\u00bb incorporada, pero puedes crear f\u00e1cilmente mediciones de rendimiento usando:<\/p>\n<ul>\n<li>Now() para capturar marcas de tiempo<\/li>\n<li>Variables para almacenar los tiempos de inicio\/final<\/li>\n<li>DateDiff() para calcular la duraci\u00f3n<\/li>\n<li>Trace() para registrar el resultado<\/li>\n<\/ul>\n<p>Por ejemplo:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-5313 size-full aligncenter\" src=\"https:\/\/creativityspark.es\/wp-content\/uploads\/2026\/01\/code-02.png\" alt=\"\" width=\"720\" height=\"647\" srcset=\"https:\/\/creativityspark.es\/wp-content\/uploads\/2026\/01\/code-02.png 720w, https:\/\/creativityspark.es\/wp-content\/uploads\/2026\/01\/code-02-300x270.png 300w\" sizes=\"(max-width: 720px) 100vw, 720px\" \/><\/p>\n<p>En resumen, la funci\u00f3n Trace() transforma tu aplicaci\u00f3n Canvas de una caja negra a una aplicaci\u00f3n completamente instrumentada. Creando temporizadores de rendimiento personalizados directamente en Power Fx, puedes medir tiempos reales de ejecuci\u00f3n, solucionar comportamientos lentos y enviar telemetr\u00eda a los sistemas de monitorizaci\u00f3n empresarial.<\/p>\n<p>Este enfoque es sencillo de implementar, muy flexible y muy valioso para crear aplicaciones Canvas r\u00e1pidas y fiables.<\/p>\n<h2>Fuentes de Datos<\/h2>\n<p>Las aplicaciones Canvas admiten muchas fuentes de datos, pero las dos m\u00e1s utilizadas en las organizaciones son Dataverse y SharePoint. Aunque ambos pueden impulsar aplicaciones robustas, se comportan de forma muy diferente en cuanto a rendimiento, escalabilidad, delegaci\u00f3n y relaciones de datos. Comprender sus fortalezas y limitaciones es esencial para construir aplicaciones r\u00e1pidas y fiables.<\/p>\n<h3>Dataverse<\/h3>\n<p>Dataverse es una plataforma de datos de nivel empresarial basada en la nube, dise\u00f1ada espec\u00edficamente para Power Apps, con capacidades relacionales, tipos de datos ricos y caracter\u00edsticas de rendimiento s\u00f3lidas. Cuando el rendimiento importa, Dataverse suele ser la mejor opci\u00f3n, especialmente para aplicaciones medianas y grandes.<\/p>\n<h4>Dataverse ofrece:<\/h4>\n<ul>\n<li>Delegaci\u00f3n nativa para la mayor\u00eda de las funciones Power Fx<\/li>\n<li>Consultas optimizadas que se ejecutan en el lado del servidor<\/li>\n<li>Capacidades relacionales integradas en la plataforma<\/li>\n<li>Seguridad a nivel de fila y campo<\/li>\n<li>Consistencia entre entornos y pipelines ALM<\/li>\n<\/ul>\n<p>Gracias a estas caracter\u00edsticas, Dataverse escala mucho mejor que SharePoint para aplicaciones empresariales.<\/p>\n<p>Una de las caracter\u00edsticas m\u00e1s fuertes de Dataverse es su modelo relacional. Las tablas pueden enlazarse a trav\u00e9s de:<\/p>\n<ul>\n<li>Relaciones uno\u2011a\u2011muchos<\/li>\n<li>Relaciones de muchos\u2011a\u2011uno<\/li>\n<li>Relaciones de muchos\u2011a\u2011muchos<\/li>\n<\/ul>\n<h4>\u00bfPor qu\u00e9 las relaciones son importantes para el rendimiento?<\/h4>\n<ul>\n<li>Consultas m\u00e1s r\u00e1pidas: Dataverse puede unir tablas relacionadas en el lado del servidor, reduciendo el n\u00famero de llamadas de datos separadas que tu aplicaci\u00f3n debe realizar.<\/li>\n<li>B\u00fasquedas delegables: Cuando se definen relaciones, puedes filtrar en tablas relacionadas de forma totalmente delegable y mucho m\u00e1s eficiente que filtrando manualmente el lado del cliente.<\/li>\n<li>Comportamientos en cascada: Puedes definir reglas en cascada (eliminar, asignar, etc.) que reduzcan la l\u00f3gica personalizada en tu app.<\/li>\n<li>Mejora de la integridad de los datos: Las claves y restricciones for\u00e1neas evitan que los datos queden hu\u00e9rfanos o inconsistentes, reduciendo errores y mejorando la fiabilidad.<\/li>\n<\/ul>\n<h3>SharePoint<\/h3>\n<p>SharePoint es extremadamente popular como fuente de datos porque es sencillo, familiar y ampliamente disponible. Sin embargo, no fue dise\u00f1ada como una base de datos relacional de alto rendimiento, lo que significa que los desarrolladores deben ser conscientes de sus l\u00edmites.<\/p>\n<h4>\u00bfD\u00f3nde SharePoint funciona bien?<\/h4>\n<p>SharePoint encaja cuando:<\/p>\n<ul>\n<li>Apps son ligeras<\/li>\n<li>Listas de menos de 20.000\u201330.000 elementos<\/li>\n<li>Estructuras de datos simples y planas<\/li>\n<li>Escenarios basados en documentos<\/li>\n<\/ul>\n<p>Si est\u00e1 correctamente optimizado, SharePoint puede ofrecer un buen rendimiento, pero solo si dise\u00f1as teniendo en cuenta sus limitaciones.<\/p>\n<p>Las listas de SharePoint pueden crecer con el tiempo y, una vez que superan los 5.000 elementos, la plataforma impone un \u00abumbral de vista de lista\u00bb que afecta al filtrado y ordenaci\u00f3n. Aqu\u00ed es donde las columnas indexadas se vuelven esenciales.<\/p>\n<h4>\u00bfPor qu\u00e9 importa la indexaci\u00f3n?<\/h4>\n<p>Debido a que mejora el rendimiento del filtrado en el lado del servidor, SharePoint devuelve resultados m\u00e1s r\u00e1pido y con menos tensi\u00f3n sobre el servidor.<br \/>\nAdem\u00e1s, si intentas filtrar datos bas\u00e1ndote en una columna no indexada y el n\u00famero de elementos en la lista supera los 5.000, la consulta simplemente no devolver\u00e1 nada.<\/p>\n<h3>Optimizaci\u00f3n de consultas<\/h3>\n<p>Uno de los conceptos m\u00e1s importantes en el rendimiento de Canvas App es la delegaci\u00f3n: el proceso por el cual Power Apps convierte tus f\u00f3rmulas en consultas que se ejecutan directamente en la fuente de datos (Dataverse, SharePoint, SQL, etc.).<\/p>\n<p>Entender c\u00f3mo funciona la delegaci\u00f3n te permite dise\u00f1ar f\u00f3rmulas que escalen, evitan resultados incompletos y evitan operaciones de red lentas.<br \/>\nLa delegaci\u00f3n no es solo un detalle t\u00e9cnico: determina fundamentalmente el rendimiento de tu aplicaci\u00f3n.<\/p>\n<h4>\u00bfQu\u00e9 es la delegaci\u00f3n?<\/h4>\n<p>Cuando escribes una f\u00f3rmula, Power Apps debe decidir si puede enviar este filtro al servidor (Dataverse o SharePoint) o si debe:<\/p>\n<ul>\n<li>Descarga todos los datos al cliente<\/li>\n<li>Realizar el filtrado en memoria<\/li>\n<\/ul>\n<p>Esta es la diferencia entre:<br \/>\n\u2714\ufe0f consultas r\u00e1pidas, escalables, del lado del servidor.<br \/>\n\u274c Lento procesamiento del lado del cliente con resultados parciales<\/p>\n<p>Si la f\u00f3rmula es delegable, Power Apps la traduce en una consulta que la fuente de datos entiende. Si no es delegable, Power Apps recupera solo la primera parte del conjunto de datos (por defecto = 500 filas, m\u00e1ximo = 2.000 filas) y procesa el resto localmente, lo que lleva a registros incompletos, carga lenta y comportamientos impredecibles.<\/p>\n<h4>\u00bfC\u00f3mo Power Apps decide qu\u00e9 columnas y tablas relacionadas consultar<\/h4>\n<p>Cuando tu aplicaci\u00f3n se conecta a una fuente de datos como Dataverse o SharePoint, no carga todos los campos ni todas las tablas relacionadas por defecto. En su lugar, Power Apps determina din\u00e1micamente qu\u00e9 datos se necesitan bas\u00e1ndose \u00fanicamente en las f\u00f3rmulas de Power Fx utilizadas en toda la aplicaci\u00f3n. El motor interno de Power Apps analiza tus f\u00f3rmulas y crea un plan de ejecuci\u00f3n para consultas. Ese plan determina:<\/p>\n<ul>\n<li>\u00bfQu\u00e9 columnas de una tabla deben recuperarse?<\/li>\n<li>\u00bfQu\u00e9 tablas relacionadas deben unirse o ampliarse?<\/li>\n<li>Qu\u00e9 filtros deben delegarse<\/li>\n<li>Qu\u00e9 operaciones deben realizarse en el lado del servidor frente al lado del cliente<\/li>\n<\/ul>\n<p>Entender c\u00f3mo Power Apps decide esto es fundamental para el rendimiento, especialmente para conjuntos de datos grandes o pantallas complejas.<\/p>\n<p>Power Apps utiliza un modelo de \u00abpoda de columnas\u00bb.<br \/>\nSolo solicitar\u00e1 columnas que tu app realmente referencia.<\/p>\n<p>En cuanto a las tablas relacionadas, los campos de b\u00fasqueda crean relaciones.<br \/>\nCuando haces referencia a una consulta, Power Apps puede obtener datos relacionados con tablas.<\/p>\n<h4>\u00bfQu\u00e9 desencadena consultas relacionadas con tablas?<\/h4>\n<ul>\n<li>Visualizaci\u00f3n de campos de b\u00fasqueda (ThisItem.Customer.Name)<\/li>\n<li>Filtrado en campos de b\u00fasqueda<\/li>\n<li>Ordenaci\u00f3n por campos de b\u00fasqueda<\/li>\n<li>Uso de b\u00fasquedas polim\u00f3rficas (por ejemplo, Owner en Dataverse)<\/li>\n<\/ul>\n<p>Si las relaciones est\u00e1n correctamente definidas en Dataverse:<\/p>\n<ul>\n<li>Power Apps puede usar uniones en el lado del servidor<\/li>\n<li>Las consultas siguen siendo delegables<\/li>\n<li>Puedes evitar m\u00faltiples llamadas a LookUp() dentro de una galer\u00eda<\/li>\n<\/ul>\n<h2>Conclusi\u00f3n<\/h2>\n<p>Esta es la primera parte de una serie de art\u00edculos sobre este tema.<\/p>\n<p>En art\u00edculos posteriores, seguiremos explorando c\u00f3mo la forma en que se dise\u00f1an las pantallas y las f\u00f3rmulas tambi\u00e9n influye en el rendimiento de tus aplicaciones.<\/p>\n<p>Si tienes dificultades para optimizar el rendimiento de alguna de tus aplicaciones y necesitas ayuda, no dudes y <a href=\"https:\/\/creativityspark.es\/es\/contacta-con-nosotros\/\">CONTACTA <\/a>AHORA.<\/p>\n<p>Redes relacionadas:<\/p>\n<p><a href=\"https:\/\/www.microsoft.com\/es-es\/power-platform\/products\/power-apps?msockid=0c1944f730cb64ca2f6a5216312b6532\" target=\"_blank\" rel=\"noopener\">Microsoft Power Apps<\/a>.<\/p>\n<p><a href=\"https:\/\/youtube.com\/playlist?list=PLCWGGvxecXfBExDS909TpqiRd9GspUXr7&amp;si=p4yLH96nbwVY92cv\" target=\"_blank\" rel=\"noopener\">Spark Labs by Creativity Spark, our learning path on YouTube.<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Crear aplicaciones Canvas es m\u00e1s f\u00e1cil que nunca, pero mantenerlas r\u00e1pidas, \u00e1giles y escalables es donde empieza el verdadero oficio. A medida que las aplicaciones crecen en complejidad, se conectan a m\u00faltiples fuentes de datos y sirven a m\u00e1s usuarios, el rendimiento puede convertirse r\u00e1pidamente en un desaf\u00edo. Las pantallas lentas, los largos tiempos de [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":5259,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[108,107,85],"tags":[110,111,92,90],"class_list":["post-5496","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-canvas-apps","category-dataverse","category-tips","tag-canvas-app","tag-dataverse","tag-power-apps","tag-power-platform"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Optimizaci\u00f3n del Rendimiento en Aplicaciones Canvas - Parte I &#8226; Creativity Spark<\/title>\n<meta name=\"description\" content=\"Optimizaci\u00f3n del rendimiento en Canvas Apps y Adopta pr\u00e1cticas centradas en el rendimiento para una experiencia m\u00e1s fluida de tus usuarios\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/creativityspark.es\/es\/optimizacion-del-rendimiento-en-aplicaciones-canvas-parte-i\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Optimizaci\u00f3n del Rendimiento en Aplicaciones Canvas - Parte I &#8226; Creativity Spark\" \/>\n<meta property=\"og:description\" content=\"Optimizaci\u00f3n del rendimiento en Canvas Apps y Adopta pr\u00e1cticas centradas en el rendimiento para una experiencia m\u00e1s fluida de tus usuarios\" \/>\n<meta property=\"og:url\" content=\"https:\/\/creativityspark.es\/es\/optimizacion-del-rendimiento-en-aplicaciones-canvas-parte-i\/\" \/>\n<meta property=\"og:site_name\" content=\"Creativity Spark\" \/>\n<meta property=\"article:published_time\" content=\"2026-01-26T11:17:27+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-09T11:26:14+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/creativityspark.es\/wp-content\/uploads\/2026\/01\/app-insights.png\" \/>\n\t<meta property=\"og:image:width\" content=\"946\" \/>\n\t<meta property=\"og:image:height\" content=\"554\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"cfernandezspark\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@creativitysp\" \/>\n<meta name=\"twitter:site\" content=\"@creativitysp\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"cfernandezspark\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/creativityspark.es\\\/es\\\/optimizacion-del-rendimiento-en-aplicaciones-canvas-parte-i\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/creativityspark.es\\\/es\\\/optimizacion-del-rendimiento-en-aplicaciones-canvas-parte-i\\\/\"},\"author\":{\"name\":\"cfernandezspark\",\"@id\":\"https:\\\/\\\/creativityspark.es\\\/es\\\/#\\\/schema\\\/person\\\/857e2c8f00ac6e17347a585ea23c7422\"},\"headline\":\"Optimizaci\u00f3n del Rendimiento en Aplicaciones Canvas &#8211; Parte I\",\"datePublished\":\"2026-01-26T11:17:27+00:00\",\"dateModified\":\"2026-03-09T11:26:14+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/creativityspark.es\\\/es\\\/optimizacion-del-rendimiento-en-aplicaciones-canvas-parte-i\\\/\"},\"wordCount\":2070,\"publisher\":{\"@id\":\"https:\\\/\\\/creativityspark.es\\\/es\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/creativityspark.es\\\/es\\\/optimizacion-del-rendimiento-en-aplicaciones-canvas-parte-i\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/creativityspark.es\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/app-insights.png\",\"keywords\":[\"Canvas App\",\"Dataverse\",\"Power Apps\",\"Power Platform\"],\"articleSection\":[\"Canvas Apps\",\"Dataverse\",\"Tips\"],\"inLanguage\":\"es\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/creativityspark.es\\\/es\\\/optimizacion-del-rendimiento-en-aplicaciones-canvas-parte-i\\\/\",\"url\":\"https:\\\/\\\/creativityspark.es\\\/es\\\/optimizacion-del-rendimiento-en-aplicaciones-canvas-parte-i\\\/\",\"name\":\"Optimizaci\u00f3n del Rendimiento en Aplicaciones Canvas - Parte I &#8226; Creativity Spark\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/creativityspark.es\\\/es\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/creativityspark.es\\\/es\\\/optimizacion-del-rendimiento-en-aplicaciones-canvas-parte-i\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/creativityspark.es\\\/es\\\/optimizacion-del-rendimiento-en-aplicaciones-canvas-parte-i\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/creativityspark.es\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/app-insights.png\",\"datePublished\":\"2026-01-26T11:17:27+00:00\",\"dateModified\":\"2026-03-09T11:26:14+00:00\",\"description\":\"Optimizaci\u00f3n del rendimiento en Canvas Apps y Adopta pr\u00e1cticas centradas en el rendimiento para una experiencia m\u00e1s fluida de tus usuarios\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/creativityspark.es\\\/es\\\/optimizacion-del-rendimiento-en-aplicaciones-canvas-parte-i\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/creativityspark.es\\\/es\\\/optimizacion-del-rendimiento-en-aplicaciones-canvas-parte-i\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/creativityspark.es\\\/es\\\/optimizacion-del-rendimiento-en-aplicaciones-canvas-parte-i\\\/#primaryimage\",\"url\":\"https:\\\/\\\/creativityspark.es\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/app-insights.png\",\"contentUrl\":\"https:\\\/\\\/creativityspark.es\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/app-insights.png\",\"width\":946,\"height\":554},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/creativityspark.es\\\/es\\\/optimizacion-del-rendimiento-en-aplicaciones-canvas-parte-i\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/creativityspark.es\\\/es\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Optimizaci\u00f3n del Rendimiento en Aplicaciones Canvas &#8211; Parte I\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/creativityspark.es\\\/es\\\/#website\",\"url\":\"https:\\\/\\\/creativityspark.es\\\/es\\\/\",\"name\":\"Creativity Spark\",\"description\":\"Power Platform Consulting\",\"publisher\":{\"@id\":\"https:\\\/\\\/creativityspark.es\\\/es\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/creativityspark.es\\\/es\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/creativityspark.es\\\/es\\\/#organization\",\"name\":\"Creativity Spark\",\"url\":\"https:\\\/\\\/creativityspark.es\\\/es\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/creativityspark.es\\\/es\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/creativityspark.es\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/creativity-spark-color.svg\",\"contentUrl\":\"https:\\\/\\\/creativityspark.es\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/creativity-spark-color.svg\",\"width\":1004,\"height\":393,\"caption\":\"Creativity Spark\"},\"image\":{\"@id\":\"https:\\\/\\\/creativityspark.es\\\/es\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/creativitysp\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/creativityspark\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/creativityspark.es\\\/es\\\/#\\\/schema\\\/person\\\/857e2c8f00ac6e17347a585ea23c7422\",\"name\":\"cfernandezspark\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4658c4df86c5ef2bdf05474efd987fb21652f2159b5cbd3a3a95a42ec8d60000?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4658c4df86c5ef2bdf05474efd987fb21652f2159b5cbd3a3a95a42ec8d60000?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4658c4df86c5ef2bdf05474efd987fb21652f2159b5cbd3a3a95a42ec8d60000?s=96&d=mm&r=g\",\"caption\":\"cfernandezspark\"},\"url\":\"https:\\\/\\\/creativityspark.es\\\/es\\\/author\\\/cfernandezspark\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Optimizaci\u00f3n del Rendimiento en Aplicaciones Canvas - Parte I &#8226; Creativity Spark","description":"Optimizaci\u00f3n del rendimiento en Canvas Apps y Adopta pr\u00e1cticas centradas en el rendimiento para una experiencia m\u00e1s fluida de tus usuarios","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/creativityspark.es\/es\/optimizacion-del-rendimiento-en-aplicaciones-canvas-parte-i\/","og_locale":"es_ES","og_type":"article","og_title":"Optimizaci\u00f3n del Rendimiento en Aplicaciones Canvas - Parte I &#8226; Creativity Spark","og_description":"Optimizaci\u00f3n del rendimiento en Canvas Apps y Adopta pr\u00e1cticas centradas en el rendimiento para una experiencia m\u00e1s fluida de tus usuarios","og_url":"https:\/\/creativityspark.es\/es\/optimizacion-del-rendimiento-en-aplicaciones-canvas-parte-i\/","og_site_name":"Creativity Spark","article_published_time":"2026-01-26T11:17:27+00:00","article_modified_time":"2026-03-09T11:26:14+00:00","og_image":[{"width":946,"height":554,"url":"https:\/\/creativityspark.es\/wp-content\/uploads\/2026\/01\/app-insights.png","type":"image\/png"}],"author":"cfernandezspark","twitter_card":"summary_large_image","twitter_creator":"@creativitysp","twitter_site":"@creativitysp","twitter_misc":{"Escrito por":"cfernandezspark","Tiempo de lectura":"10 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/creativityspark.es\/es\/optimizacion-del-rendimiento-en-aplicaciones-canvas-parte-i\/#article","isPartOf":{"@id":"https:\/\/creativityspark.es\/es\/optimizacion-del-rendimiento-en-aplicaciones-canvas-parte-i\/"},"author":{"name":"cfernandezspark","@id":"https:\/\/creativityspark.es\/es\/#\/schema\/person\/857e2c8f00ac6e17347a585ea23c7422"},"headline":"Optimizaci\u00f3n del Rendimiento en Aplicaciones Canvas &#8211; Parte I","datePublished":"2026-01-26T11:17:27+00:00","dateModified":"2026-03-09T11:26:14+00:00","mainEntityOfPage":{"@id":"https:\/\/creativityspark.es\/es\/optimizacion-del-rendimiento-en-aplicaciones-canvas-parte-i\/"},"wordCount":2070,"publisher":{"@id":"https:\/\/creativityspark.es\/es\/#organization"},"image":{"@id":"https:\/\/creativityspark.es\/es\/optimizacion-del-rendimiento-en-aplicaciones-canvas-parte-i\/#primaryimage"},"thumbnailUrl":"https:\/\/creativityspark.es\/wp-content\/uploads\/2026\/01\/app-insights.png","keywords":["Canvas App","Dataverse","Power Apps","Power Platform"],"articleSection":["Canvas Apps","Dataverse","Tips"],"inLanguage":"es"},{"@type":"WebPage","@id":"https:\/\/creativityspark.es\/es\/optimizacion-del-rendimiento-en-aplicaciones-canvas-parte-i\/","url":"https:\/\/creativityspark.es\/es\/optimizacion-del-rendimiento-en-aplicaciones-canvas-parte-i\/","name":"Optimizaci\u00f3n del Rendimiento en Aplicaciones Canvas - Parte I &#8226; Creativity Spark","isPartOf":{"@id":"https:\/\/creativityspark.es\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/creativityspark.es\/es\/optimizacion-del-rendimiento-en-aplicaciones-canvas-parte-i\/#primaryimage"},"image":{"@id":"https:\/\/creativityspark.es\/es\/optimizacion-del-rendimiento-en-aplicaciones-canvas-parte-i\/#primaryimage"},"thumbnailUrl":"https:\/\/creativityspark.es\/wp-content\/uploads\/2026\/01\/app-insights.png","datePublished":"2026-01-26T11:17:27+00:00","dateModified":"2026-03-09T11:26:14+00:00","description":"Optimizaci\u00f3n del rendimiento en Canvas Apps y Adopta pr\u00e1cticas centradas en el rendimiento para una experiencia m\u00e1s fluida de tus usuarios","breadcrumb":{"@id":"https:\/\/creativityspark.es\/es\/optimizacion-del-rendimiento-en-aplicaciones-canvas-parte-i\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/creativityspark.es\/es\/optimizacion-del-rendimiento-en-aplicaciones-canvas-parte-i\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/creativityspark.es\/es\/optimizacion-del-rendimiento-en-aplicaciones-canvas-parte-i\/#primaryimage","url":"https:\/\/creativityspark.es\/wp-content\/uploads\/2026\/01\/app-insights.png","contentUrl":"https:\/\/creativityspark.es\/wp-content\/uploads\/2026\/01\/app-insights.png","width":946,"height":554},{"@type":"BreadcrumbList","@id":"https:\/\/creativityspark.es\/es\/optimizacion-del-rendimiento-en-aplicaciones-canvas-parte-i\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/creativityspark.es\/es\/"},{"@type":"ListItem","position":2,"name":"Optimizaci\u00f3n del Rendimiento en Aplicaciones Canvas &#8211; Parte I"}]},{"@type":"WebSite","@id":"https:\/\/creativityspark.es\/es\/#website","url":"https:\/\/creativityspark.es\/es\/","name":"Creativity Spark","description":"Power Platform Consulting","publisher":{"@id":"https:\/\/creativityspark.es\/es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/creativityspark.es\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/creativityspark.es\/es\/#organization","name":"Creativity Spark","url":"https:\/\/creativityspark.es\/es\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/creativityspark.es\/es\/#\/schema\/logo\/image\/","url":"https:\/\/creativityspark.es\/wp-content\/uploads\/2024\/10\/creativity-spark-color.svg","contentUrl":"https:\/\/creativityspark.es\/wp-content\/uploads\/2024\/10\/creativity-spark-color.svg","width":1004,"height":393,"caption":"Creativity Spark"},"image":{"@id":"https:\/\/creativityspark.es\/es\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/creativitysp","https:\/\/www.linkedin.com\/company\/creativityspark\/"]},{"@type":"Person","@id":"https:\/\/creativityspark.es\/es\/#\/schema\/person\/857e2c8f00ac6e17347a585ea23c7422","name":"cfernandezspark","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/4658c4df86c5ef2bdf05474efd987fb21652f2159b5cbd3a3a95a42ec8d60000?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/4658c4df86c5ef2bdf05474efd987fb21652f2159b5cbd3a3a95a42ec8d60000?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4658c4df86c5ef2bdf05474efd987fb21652f2159b5cbd3a3a95a42ec8d60000?s=96&d=mm&r=g","caption":"cfernandezspark"},"url":"https:\/\/creativityspark.es\/es\/author\/cfernandezspark\/"}]}},"_links":{"self":[{"href":"https:\/\/creativityspark.es\/es\/wp-json\/wp\/v2\/posts\/5496","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/creativityspark.es\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/creativityspark.es\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/creativityspark.es\/es\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/creativityspark.es\/es\/wp-json\/wp\/v2\/comments?post=5496"}],"version-history":[{"count":0,"href":"https:\/\/creativityspark.es\/es\/wp-json\/wp\/v2\/posts\/5496\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/creativityspark.es\/es\/wp-json\/wp\/v2\/media\/5259"}],"wp:attachment":[{"href":"https:\/\/creativityspark.es\/es\/wp-json\/wp\/v2\/media?parent=5496"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/creativityspark.es\/es\/wp-json\/wp\/v2\/categories?post=5496"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/creativityspark.es\/es\/wp-json\/wp\/v2\/tags?post=5496"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}