Como prompts avançados aumentam performance com GitHub Copilot no Power Platform
O uso do GitHub Copilot no Power Platform tem se tornado cada vez mais comum em cenários de desenvolvimento low-code…

Aplicativos do Power Apps que consomem dados do SharePoint podem ficar lentos à medida que a lista cresce.
Carregamentos demorados, formulários que “travam” e telas que demoram para renderizar são sintomas comuns — e muitas vezes o problema não está no Power Apps em si, mas na forma como ele acessa os dados.
Neste artigo, você vai aprender técnicas práticas para melhorar a performance do seu aplicativo, mesmo com listas grandes.
Antes de aplicar correções, é importante identificar os principais gargalos de desempenho:
| Causa | Sintoma | Exemplo |
| Falta de delegação | Apenas 500–2.000 registros são retornados; app precisa “baixar” tudo para filtrar localmente | Filtro usando Or, CountIf, StartsWith sem suporte delegável |
| Consultas repetidas | A mesma lista é carregada várias vezes (em cada tela) | Filter(SharePointList, …) em múltiplos controles |
| Imagens e anexos grandes | App demora a carregar miniaturas | Campos Attachment ou Image com arquivos pesados |
| Fórmulas complexas no OnStart | App inicializa com múltiplos ClearCollect() e LookUp() | Espera longa no carregamento |
| Falta de cache local | Dados são buscados a cada navegação | Nenhum uso de variáveis ou coleções |
Ao abrir o app, armazene os dados que serão usados com frequência:
ClearCollect(colProtocolos, ‘Gestão de Laudos – Protocolos’);
ClearCollect(colAmostras, ‘Gestão de Laudos – Amostras’);
Dica:
Concurrent(
ClearCollect(colProtocolos, ‘Gestão de Laudos – Protocolos’),
ClearCollect(colAmostras, ‘Gestão de Laudos – Amostras’)
)

Evite fórmulas que forcem o app a processar dados localmente.
O segredo é manter o filtro “delegável”, ou seja, executado pelo SharePoint.
Correto:
Filter(‘Gestão de Laudos – Amostras’, ‘TD/Protocol ID’ = varProtocolID)
❌ Evite:
Filter(‘Gestão de Laudos – Amostras’, Text(‘TD/Protocol ID’) = Text(varProtocolID))
ou
Filter(‘Gestão de Laudos – Amostras’, StartsWith(Title, varBusca))
Use Search() apenas para pequenas coleções locais.
Confira a lista de funções delegáveis:
Delegation overview – Microsoft Learn

Em vez de carregar todas as listas no OnStart, traga apenas o necessário:

O OnStart deve conter apenas o essencial para o primeiro carregamento.
Demais dados podem ser carregados sob demanda (lazy loading).
Exemplo otimizado:
Concurrent(
Set(varUser, User()),
ClearCollect(colMenu, {Title:”Home”}, {Title:”Protocolos”})
)
Evite Navigate() ou SubmitForm() dentro do OnStart.

A lentidão no Power Apps não é inevitável — é um sinal de que seu app pode ser otimizado.
Seguindo as boas práticas de delegação, cache local, carregamento sob demanda e design leve, você pode reduzir drasticamente o tempo de resposta sem mudar a experiência do usuário.
O uso do GitHub Copilot no Power Platform tem se tornado cada vez mais comum em cenários de desenvolvimento low-code…
O uso de IA no desenvolvimento de soluções com Power Platform evoluiu rapidamente com a introdução do Copilot nativo. No…
O uso do GitHub Copilot já é amplamente conhecido dentro de ambientes de desenvolvimento (IDEs). No entanto, sua versão para…