Quando criar um controle PCF personalizado e quando usar componentes de tela no Power Apps
By Mirko Peters ·
Saiba quando criar componentes de código PCF personalizados e quando usar componentes de tela low-code no Power Apps. Compare habilidades, desempenho e arquitetura.
Automatically translated with AI from the original post. Read the English original

Escolher entre controles do Power Apps Component Framework (PCF) baseados em código e componentes de tela low-code determina se o seu projeto será bem-sucedido ou ficará travado. Este guia detalha as principais diferenças arquiteturais, os requisitos de habilidades, os impactos no desempenho e os critérios de decisão para ajudar desenvolvedores e criadores a escolher a ferramenta certa para desafios complexos de interface.
Principais conclusões
- Componentes de tela são criados inteiramente dentro do aplicativo, usando expressões sem código e fáceis de usar para criadores, o que permite entregas rápidas.
- Componentes de código PCF exigem desenvolvimento de software profissional com TypeScript, HTML, CSS e a Power Platform CLI.
- Escolher o tipo de componente certo evita a degradação de desempenho causada por soluções alternativas excessivamente complexas e pela sobreposição de controles.
- As bibliotecas de plataforma React e Fluent UI permitem que desenvolvedores criem controles PCF leves que utilizam recursos corporativos já carregados.
- A governança e a sobrecarga de manutenção de longo prazo devem ser consideradas ao introduzir dependências de código personalizado em soluções do Dataverse.
A divisão arquitetural: criadores versus desenvolvedores
Todo aplicativo do Power Apps chega, em algum momento, a um limite funcional. Você precisa de uma visualização de dados específica, de uma planta baixa interativa, de uma grade editável no estilo planilha ou de um campo de assinatura, mas a caixa de ferramentas padrão de arrastar e soltar simplesmente não oferece essa capacidade. Nesses momentos, as equipes costumam recorrer a soluções alternativas em camadas: ocultar caixas de texto atrás de imagens, sobrepor gatilhos invisíveis e conectar dez mecanismos separados para simular uma única experiência fluida para o usuário. Embora isso funcione por um tempo, rapidamente degrada o desempenho do aplicativo e cria um labirinto impossível de manter para qualquer outra pessoa que herdar a solução.
Para superar esse limite arquitetural, a Power Platform divide a extensão da interface em dois caminhos distintos: componentes de tela e componentes de código PCF. Entender onde um termina e o outro começa é essencial para um planejamento eficiente do aplicativo. Os criadores montam componentes de tela diretamente na tela do aplicativo, usando fórmulas conhecidas e sem código. Eles são rápidos de implantar, fáceis de modificar por outros criadores low-code e ideais para padrões de interface comuns. Já os componentes de código PCF são desenvolvidos por desenvolvedores profissionais. Eles são empacotados como unidades autocontidas de lógica de interface que podem atuar em aplicativos controlados por modelo, aplicativos de tela e no Power Pages.
Componentes de tela para agilidade, PCF para poder
Ao avaliar qual abordagem o seu projeto exige, é preciso equilibrar a velocidade de desenvolvimento com os requisitos funcionais mais profundos. Os componentes de tela se destacam quando você precisa empacotar uma seção repetida de um aplicativo de tela, como um menu de navegação personalizado ou um layout de cartões com estilo definido, sem sair do editor visual. Eles ficam dentro do pacote do aplicativo, herdam o contexto do aplicativo sem esforço e não exigem pipelines de implantação nem ferramentas de linha de comando.
No entanto, os componentes de tela são fundamentalmente limitados pela linguagem de expressões e pelo mecanismo de layout do ambiente de telas. Eles não conseguem sair do sandbox da plataforma para usar bibliotecas JavaScript avançadas de terceiros, renderizar visualizações SVG personalizadas complexas ou transformar nativamente o comportamento de grades em grades de dados editáveis de alta densidade. É aqui que entra o Power Apps Component Framework. Usando a Microsoft Power Platform CLI, os desenvolvedores criam componentes web de verdade com TypeScript e padrões web modernos. Esses componentes de código declaram entradas e saídas explícitas por meio de um arquivo de manifesto, garantindo que o aplicativo host consiga conectar os dados ao controle de forma integrada, sem precisar adivinhar o estado interno dele.
Otimizando o desempenho com React e Fluent UI
Criar um controle personalizado do zero costumava significar empacotar todas as dependências externas, o que frequentemente inflava o tamanho dos arquivos e tornava o carregamento mais lento. O desenvolvimento moderno de PCF elimina essa sobrecarga por meio de bibliotecas da plataforma. Os desenvolvedores podem criar componentes com React e Fluent UI, o sistema de design nativo da Microsoft, aproveitando bibliotecas que já são pré-carregadas pelo ambiente hospedeiro.
Quando um aplicativo carrega vários controles personalizados que compartilham essas bibliotecas da plataforma, o navegador evita baixar código de framework duplicado. Isso mantém a interface ágil, responsiva e visualmente consistente com o restante do ecossistema Microsoft 365. Nos bastidores, os métodos do ciclo de vida do componente (init, updateView, getOutputs e destroy) cuidam da parte operacional de desenhar, atualizar quando os dados mudam e liberar memória quando o controle é removido. Essa disciplina rígida de ciclo de vida evita os vazamentos de memória e a renderização lenta que afetam as injeções de código amadoras.
Realidades de governança e manutenção de longo prazo
Adotar componentes de código personalizados traz um perfil de manutenção que as soluções low-code normalmente evitam. Como os controles PCF exigem uma etapa de build, um repositório de código-fonte e implantação por meio de soluções do Dataverse, eles precisam de um responsável designado. Se o desenvolvedor original sair sem documentação adequada, um controle personalizado pode rapidamente se tornar uma caixa-preta impossível de manter.
Além disso, os administradores de TI devem aplicar políticas rígidas de governança para impedir que componentes de código duplicados ou mal otimizados se multipliquem pelos ambientes corporativos. Antes de aprovar um build PCF personalizado, os arquitetos de solução devem verificar se nenhum controle nativo ou componente de tela consegue atingir noventa por cento da funcionalidade necessária. Se uma abordagem padrão já resolve a maior parte do problema, a economia de manutenção quase sempre supera o desejo de uma engenharia personalizada com precisão de pixel.
Conclusão
Escolher entre componentes de tela e o Power Apps Component Framework se resume a alinhar seus recursos técnicos ao problema de interface específico que você tem em mãos. Use componentes de tela para encapsulamento rápido de interface, sem código, dentro de aplicativos de tela, e reserve os componentes de código PCF para requisitos avançados e de alto desempenho que envolvam soluções baseadas no Dataverse. Para explorar este tema com mais profundidade e ouvir a visão de especialistas sobre desenvolvimento moderno na nuvem da Microsoft, ouça o episódio completo do M365 FM Podcast.
Perguntas frequentes
Componentes de tela podem ser usados em aplicativos baseados em modelo?
Não. Os componentes de tela são exclusivos de aplicativos de tela. Se você precisar de controles de interface personalizados dentro de aplicativos baseados em modelo ou no Power Pages, deve usar componentes de código do Power Apps Component Framework (PCF).
Quais linguagens de programação são necessárias para criar controles PCF?
Criar componentes de código personalizados exige conhecimento prático de TypeScript (ou JavaScript), HTML e CSS, além de familiaridade com a Microsoft Power Platform CLI para gerar a estrutura inicial e empacotar o componente.
Os usuários finais precisam saber programar para usar um controle PCF?
De forma alguma. Depois que um desenvolvedor cria e implanta um controle PCF em uma solução do Dataverse, os criadores podem arrastar e soltar o controle em formulários, exibições ou painéis, como qualquer outro controle padrão.
Para que serve o arquivo de manifesto do componente?
O manifesto é um arquivo XML que declara os metadados do componente, as propriedades de entrada esperadas e os eventos de saída. Ele funciona como um diagrama de conexões, para que o Power Apps consiga vincular os dados corretamente ao componente de código.