Quando creare un controllo PCF personalizzato o usare componenti canvas in Power Apps
By Mirko Peters ·
Scopri quando creare componenti di codice PCF personalizzati invece di usare i componenti canvas low-code in Power Apps. Confronta competenze, prestazioni e architettura.
Automatically translated with AI from the original post. Read the English original

Scegliere tra controlli PCF (Power Apps Component Framework) basati su codice e componenti canvas low-code determina il successo o il blocco del progetto. Questa guida illustra le principali differenze architetturali, i requisiti di competenze, l'impatto sulle prestazioni e i criteri decisionali, per aiutare sviluppatori e maker a scegliere lo strumento giusto per le sfide di interfaccia più complesse.
Punti chiave
- I componenti canvas si costruiscono interamente all'interno dell'app, con espressioni no-code pensate per i maker, per consegne rapide.
- I componenti di codice PCF richiedono un vero sviluppo software con TypeScript, HTML, CSS e la Power Platform CLI.
- Scegliere il tipo di componente giusto evita il degrado delle prestazioni causato da soluzioni alternative troppo complesse e da controlli sovrapposti.
- Le librerie di piattaforma React e Fluent UI permettono agli sviluppatori di creare controlli PCF leggeri che sfruttano risorse aziendali già caricate.
- Quando si introducono dipendenze da codice personalizzato nelle soluzioni Dataverse, occorre tenere conto della governance e dell'onere di manutenzione a lungo termine.
La divisione architetturale: maker contro sviluppatori
Ogni app di Power Apps prima o poi raggiunge un limite funzionale. Ti serve una visualizzazione dati specifica, una planimetria interattiva, una griglia modificabile in stile foglio di calcolo o un'area per la firma, ma la casella degli strumenti predefinita, con il semplice trascinamento, non offre quella funzionalità. In questi casi i team ricorrono spesso a soluzioni alternative a catena: nascondere caselle di testo dietro le immagini, sovrapporre trigger invisibili e collegare dieci meccanismi separati per simulare un'unica esperienza utente fluida. Questo approccio funziona per un po', ma degrada rapidamente le prestazioni dell'app e crea un labirinto impossibile da manutenere per chiunque erediti la soluzione.
Per superare questo limite architetturale, Power Platform divide l'estensione dell'interfaccia in due percorsi distinti: i componenti canvas e i componenti di codice PCF. Capire dove finisce l'uno e inizia l'altro è essenziale per pianificare le app in modo efficiente. I maker creano i componenti canvas direttamente nella tela dell'app, usando formule familiari e senza scrivere codice. Sono rapidi da distribuire, facili da modificare per altri creatori low-code e ideali per schemi di interfaccia standard. Al contrario, i componenti di codice PCF sono progettati da sviluppatori professionisti. Sono pacchettizzati come unità autonome di logica dell'interfaccia utente che possono operare nelle app basate su modello, nelle app canvas e in Power Pages.
Componenti canvas per la velocità, PCF per la potenza
Quando valuti quale approccio richiede il tuo progetto, devi bilanciare la velocità di sviluppo con i requisiti funzionali più profondi. I componenti canvas danno il meglio quando devi incapsulare una sezione ripetuta di un'app canvas, come un menu di navigazione personalizzato o un layout a schede con uno stile definito, senza uscire dall'editor visivo. Vivono all'interno del pacchetto dell'app, ereditano senza problemi il contesto dell'app e non richiedono pipeline di distribuzione né strumenti da riga di comando.
Tuttavia, i componenti canvas sono intrinsecamente limitati dal linguaggio di espressione e dal motore di layout dell'ambiente canvas. Non possono uscire dalla sandbox della piattaforma per sfruttare librerie JavaScript di terze parti avanzate, generare visualizzazioni SVG personalizzate complesse oppure trasformare nativamente il comportamento delle griglie in griglie di dati modificabili ad alta densità. È qui che entra in gioco il Power Apps Component Framework. Utilizzando la Microsoft Power Platform CLI, gli sviluppatori scrivono veri web component con TypeScript e standard web moderni. Questi componenti di codice dichiarano input e output espliciti tramite un file manifest, così che l'app host possa collegare i dati al controllo senza dover indovinarne lo stato interno.
Ottimizzare le prestazioni con React e Fluent UI
Costruire un controllo personalizzato da zero significava in passato includere ogni dipendenza esterna, con il risultato di file di dimensioni eccessive e tempi di caricamento più lunghi. Lo sviluppo PCF moderno elimina questo sovraccarico grazie alle librerie di piattaforma. Gli sviluppatori possono creare componenti con React e Fluent UI, il sistema di design nativo di Microsoft, sfruttando le librerie già precaricate dall'ambiente host.
Quando un'app carica più controlli personalizzati che condividono queste librerie di piattaforma, il browser evita di scaricare più volte lo stesso codice del framework. Questo rende l'interfaccia utente reattiva, fluida e visivamente coerente con il resto dell'ecosistema Microsoft 365. Dietro le quinte, i metodi del ciclo di vita del componente (init, updateView, getOutputs e destroy) gestiscono le operazioni di disegno, l'aggiornamento al cambiare dei dati e la pulizia della memoria quando il controllo viene rimosso. Questa rigorosa disciplina del ciclo di vita previene le perdite di memoria e i rendering lenti che affliggono le iniezioni di codice amatoriali.
Governance e realtà della manutenzione a lungo termine
Adottare componenti di codice personalizzati introduce un profilo di manutenzione che le soluzioni low-code di solito evitano. Poiché i controlli PCF richiedono una fase di build, un repository del codice sorgente e il deployment tramite soluzioni Dataverse, hanno bisogno di un responsabile designato. Se lo sviluppatore originale lascia l'azienda senza una documentazione adeguata, un controllo personalizzato può diventare rapidamente una scatola nera impossibile da manutenere.
Inoltre, gli amministratori IT devono applicare criteri di governance rigorosi per impedire la proliferazione di componenti di codice duplicati o poco ottimizzati negli ambienti aziendali. Prima di approvare una build PCF personalizzata, gli architetti delle soluzioni dovrebbero verificare che nessun controllo nativo o componente canvas possa garantire il novanta per cento della funzionalità richiesta. Se un approccio standard ti porta già gran parte della strada, i risparmi in termini di manutenzione superano quasi sempre il desiderio di un'ingegnerizzazione personalizzata perfetta al pixel.
Conclusione
Scegliere tra componenti canvas e Power Apps Component Framework significa, in definitiva, abbinare le risorse tecniche disponibili al problema di interfaccia specifico da risolvere. Usa i componenti canvas per l'incapsulamento rapido di interfacce senza codice all'interno delle app canvas, e riserva i componenti di codice PCF ai requisiti avanzati e ad alte prestazioni che coinvolgono soluzioni basate su Dataverse. Per approfondire questo argomento e ascoltare il parere di esperti sullo sviluppo moderno nel cloud Microsoft, ascolta l'episodio completo del podcast M365 FM.
Domande frequenti
I componenti canvas possono essere usati nelle app basate su modello?
No, i componenti canvas sono esclusivi delle app canvas. Se hai bisogno di controlli dell'interfaccia personalizzati all'interno di app basate su modello o di Power Pages, devi usare i componenti di codice del Power Apps Component Framework (PCF).
Quali linguaggi di programmazione sono necessari per creare controlli PCF?
Per creare componenti di codice personalizzati è necessaria una buona conoscenza di TypeScript (o JavaScript), HTML e CSS, oltre a familiarità con la Microsoft Power Platform CLI per la generazione dello scheletro del progetto e il packaging.
Gli utenti finali devono saper programmare per usare un controllo PCF?
Assolutamente no. Una volta che uno sviluppatore crea e distribuisce un controllo PCF in un ambiente di soluzioni Dataverse, i maker possono trascinarlo su moduli, viste o dashboard esattamente come qualsiasi altro controllo standard.
Qual è la funzione del file manifest del componente?
Il manifest è un file XML che dichiara i metadati del componente, le proprietà di input previste e gli eventi di output. Funziona come uno schema di collegamento, in modo che Power Apps possa associare correttamente i dati al componente di codice.