Otimizar aplicativos de tela
As duas abordagens principais para o desenvolvimento são a imperativa e a declarativa. O desenvolvimento imperativo se concentra em como atingir uma meta, enquanto o desenvolvimento declarativo se concentra na especificação do resultado desejado. O desenvolvimento imperativo oferece mais flexibilidade porque permite controle sobre cada etapa do processo, mas geralmente exige mais código e complexidade. O desenvolvimento declarativo é mais simples e fácil de usar, mas pode não oferecer o mesmo nível de controle.
Os aplicativos de tela interpretam o seu "o quê" declarativo e cuidam da otimização do "como". Em determinadas situações, pode ser difícil expressar exatamente o resultado desejado de forma declarativa, por isso, o Power Apps permite o uso de técnicas imperativas. Um erro comum é usar o desenvolvimento imperativo quando as opções declarativas seriam mais simples e teriam um desempenho melhor.
Os aplicativos de tela podem ser visualmente atraentes, mas o desempenho tem um impacto maior na adoção do usuário.
Para obter mais informações sobre o desenvolvimento imperativo e declarativo, consulte Usar técnicas de desenvolvimento imperativo para aplicativos de tela no Power Apps.
As seções a seguir explicam as técnicas para otimizar o desempenho do aplicativo de tela.
Transferir a lógica para componentes do lado do servidor
À medida que as fórmulas do aplicativo aumentam em tamanho e complexidade, considere transferir a lógica para outros serviços do Microsoft Power Platform ou serviços do lado do servidor. A lógica pode ser tratada por fluxos da nuvem, regras de negócios, plug-ins do Microsoft Power Automate ou outros recursos do lado do servidor no Dataverse.
Observação
Uma técnica comum é transferir a lógica para um fluxo da nuvem do Power Automate que use o gatilho do Power Apps. O fluxo pode ser chamado de uma expressão do Power Apps, que passa dados para o fluxo e retorna um resultado.
Você também pode criar conectores personalizados para o Microsoft Azure Functions ou outros serviços de lógica. Se o desenvolvimento imperativo estiver sendo usado em um aplicativo, avalie se a lógica seria mais apropriada em outro lugar.
Melhorar o desempenho do aplicativo
Os desafios comuns de desempenho incluem:
- Acesso a dados: os aplicativos recuperam grandes conjuntos de dados em coleções e executam operações do lado do cliente, como Unir, Classificar, Adicionar Coluna e Agrupar por.
- Fórmulas em OnStart: os aplicativos disparam chamadas de dados desnecessárias na inicialização, retornando registros grandes.
- Recuperação de dados repetidos: use a função Set para armazenar dados de tabelas de pesquisa em cache localmente.
Incentive os criadores a usar a função ClearCollect para armazenar dados no cache em OnStart e a usar a função Concurrent para reduzir o tempo de carregamento dos vários conjuntos de dados.
As imagens a seguir ilustram o carregamento de conjuntos de dados sequencialmente versus simultaneamente:
Com tantas opções de configuração, o desempenho deve ser considerado de forma contínua. Melhorias e análises devem ser contínuas. Confira origens do desempenho lento, problemas comuns de desempenho e dicas de desempenho.
Um arquiteto de soluções deve implementar uma estratégia de ajuste de desempenho do aplicativo de tela.
Uma estratégia de ajuste deve:
- Evitar trabalhos desnecessários
- Adiar trabalho que provavelmente não seja necessário
- Paralelizar o trabalho sempre que possível
- Monitorar o uso do aplicativo para descobrir problemas de desempenho
Use um indicador visual de progresso para informar os usuários durante operações de longa duração.
Usar o Test Studio, o Azure Monitor e o Application Insights
Os aplicativos de tela devem ser testados exaustivamente para garantir a confiabilidade. A Microsoft fornece o Test Studio para testes de regressão, que podem ser incluídos em processos de compilação automatizados.
O Test Studio inclui:
- Pacotes: grupos de casos de teste
- Testes: conjuntos de etapas de teste para validar o comportamento do aplicativo
- Etapas de teste: ações escritas na linguagem de expressão do Power Apps
- Declarações de teste: resultados esperados para validação
O Microsoft Azure Monitor permite que os criadores transmitam eventos da sessão do usuário para diagnosticar e solucionar problemas. Os criadores podem exibir os eventos do Monitor no Power Apps Studio durante a criação de aplicativos e monitorar o comportamento do tempo de execução nos aplicativos publicados. Para aplicativos baseados em modelo, o Monitor rastreia a navegação, os comandos e os problemas no nível do formulário.
Os aplicativos de tela podem ser conectados ao Application Insights, um recurso do Azure Monitor. O Application Insights fornece ferramentas de análise para ajudar a diagnosticar problemas e entender o comportamento do usuário.
Os dados disponíveis no Application Insights incluem:
- Número de usuários ativos
- Locais onde o aplicativo é usado
- Telas usadas com frequência
- Fluxo de usuários de uma tela para outra
Como arquiteto de soluções, você deve decidir se deseja incluir o Application Insights em suas soluções de aplicativo.
Para obter mais informações, consulte Application Insights: