Gestione dello stato 101: variabili e raccolte in Power Fx
By Mirko Peters ·
Bentornati nel blog di accompagnamento al podcast! Mentre costruisci il tuo percorso low-code nell'ecosistema Microsoft, ti accorgerai presto che le schermate semplici e statiche sono solo l'inizio. Le applicazioni aziendali reali hanno bisogno di memoria: devono ricordare le selezioni dell'utente, conservare temporaneamente gli elementi in un carrello, tenere traccia dell'avanzamento di moduli in
Automatically translated with AI from the original post. Read the English original

Bentornati nel blog di accompagnamento al podcast! Mentre costruisci il tuo percorso low-code nell'ecosistema Microsoft, ti accorgerai presto che le schermate semplici e statiche sono solo l'inizio. Le applicazioni aziendali reali hanno bisogno di memoria: devono ricordare le selezioni dell'utente, conservare temporaneamente gli elementi in un carrello, tenere traccia dell'avanzamento di moduli in più passaggi e manipolare gruppi di record prima di salvarli in un'origine dati come Microsoft Dataverse o SharePoint. Questa esigenza ci porta direttamente al concetto di gestione dello stato.
Nel nostro recente episodio del podcast, Microsoft Power Fx - Simply Explained, abbiamo analizzato come questo potente linguaggio di formule colmi il divario tra la familiarità con i fogli di calcolo e lo sviluppo di applicazioni aziendali su vasta scala. Abbiamo parlato di come Power Fx pilota interfacce utente dinamiche, gestisce le connessioni ai dati e rende autonomi sia i citizen developer sia i professionisti IT. Se non hai ancora ascoltato quell'episodio, dagli un'occhiata per una base completa su come Power Fx cambi il panorama low-code. Oggi approfondiamo uno dei temi chiave toccati in quella puntata: la gestione dello stato tramite variabili e raccolte.
Introduzione alla gestione dello stato in Power Fx
La gestione dello stato sembra un termine pesante della informatica, ma in sostanza significa tenere traccia della condizione attuale della tua applicazione. Quando un utente apre un'app, clicca su un pulsante, filtra una galleria o inserisce del testo in un modulo, l'applicazione passa tra stati diversi. Senza la gestione dello stato, ogni schermata si azzererebbe nel momento in cui l'utente cambia pagina, e la tua app soffrirebbe di una perdita di memoria a breve termine.
Nella programmazione tradizionale, gestire lo stato può comportare strutture dati complesse, allocazione della memoria e il debug di perdite di memoria. Power Fx, invece, rende tutto più accessibile puntando sulla sua natura dichiarativa, pur offrendo funzioni imperative quando hai bisogno di memorizzare valori temporanei. Saper gestire questo stato in modo efficace è ciò che distingue un prototipo di base da un'applicazione aziendale robusta e pronta per la produzione. Che tu stia creando un semplice strumento interno o una complessa dashboard organizzativa, saper quando e come memorizzare le informazioni in modo temporaneo è una competenza essenziale per ogni maker di Power Apps.
Capire le variabili: memorizzare informazioni temporaneamente
Le variabili sono gli elementi fondamentali della gestione dello stato. Pensa a una variabile come a un contenitore etichettato o a un post-it su cui annotare un'informazione per richiamarla in seguito. In Power Fx le variabili esistono in alcune varianti, ciascuna pensata per un ambito e una durata specifici all'interno dell'applicazione.
Il primo e più comune tipo di variabile è la variabile di contesto, creata con la funzione UpdateContext. Le variabili di contesto sono limitate a una singola schermata. Sono ottime per tenere traccia degli stati dell'interfaccia, ad esempio se un pannello con i dettagli è aperto o chiuso, quale scheda sta visualizzando l'utente o un valore ID temporaneo necessario solo per il layout di quella schermata. Poiché sono locali alla schermata, vengono eliminate automaticamente quando l'utente cambia pagina, il che aiuta a mantenere la memoria dell'applicazione pulita e ordinata.
Il secondo tipo è la variabile globale, creata con la funzione Set. Le variabili globali sono accessibili da qualsiasi punto dell'intera applicazione. Se devi memorizzare informazioni sull'utente attualmente connesso, impostazioni di configurazione globali o preferenze a livello di organizzazione di cui ogni schermata ha bisogno, le variabili globali sono lo strumento da usare. Tuttavia, da un grande potere derivano grandi responsabilità. Usare troppe variabili globali può rendere l'app difficile da sottoporre a debug, perché qualsiasi schermata può modificarne i valori in qualsiasi momento. Come buona pratica, riserva le variabili globali ai dati davvero globali e, quando possibile, affidati alle variabili di contesto specifiche della schermata.
Padroneggiare le raccolte: gestire gruppi di record
Le variabili sono ottime per memorizzare singole informazioni, come un numero, una stringa di testo, un valore booleano vero/falso o un singolo record. Ma cosa succede quando devi gestire un intero elenco di elementi? È qui che entrano in gioco le raccolte.
Una collection è sostanzialmente un dataset tabellare locale, archiviato nella memoria del dispositivo dell'utente. Utilizza esattamente la stessa struttura tabellare presente in origini dati come Dataverse, SharePoint o SQL Server. Puoi creare e popolare una collection con la funzione Collect, aggiungere elementi con Collect o Patch, rimuoverli con Remove o RemoveIf e svuotare completamente il contenuto usando Clear.
Le collection sono indispensabili in scenari offline, per la funzionalità di carrello della spesa, per i moduli di inserimento dati su più elementi in cui l'utente aggiunge più righe prima di salvare tutto in un'unica operazione batch, e per la memorizzazione nella cache dei dati di riferimento, così da migliorare le prestazioni dell'applicazione. Poiché le collection risiedono localmente in memoria, interrogarle e manipolarle avviene istantaneamente, senza richiedere viaggi di andata e ritorno verso il server o l'origine dati nel cloud. In questo modo l'applicazione risulta reattiva e scattante, anche quando lavora con insiemi complessi di dati generati dagli utenti.
Variabili vs. collection: quando usare l'una o l'altra
Una delle domande più frequenti che si pongono i nuovi sviluppatori di Power Apps è: "Quando devo usare una variabile e quando una collection?" La risposta dipende dalla natura e dal volume dei dati con cui si lavora.
Usa una variabile quando lavori con valori scalari o con un singolo oggetto discreto. Se devi memorizzare il nome di un utente, il valore selezionato in un menu a discesa, lo stato di un interruttore o un singolo record che rappresenta l'elemento selezionato in una galleria, la variabile è la scelta corretta. Le variabili sono leggere e progettate per tenere traccia di un singolo valore.
Usa una collection quando lavori con più righe e colonne di dati. Se l'utente sta costruendo un elenco di elementi da inviare, seleziona più caselle di controllo in una galleria per eseguire un aggiornamento di massa oppure scarica una tabella di ricerca per filtrarla localmente, serve una collection. Pensa alle variabili come ai singoli post-it sulla scrivania e alle collection come a interi schedari contenenti più documenti.
Best practice per soluzioni scalabili e manutenibili
Man mano che le tue app di Power Apps crescono in complessità, variabili e collection gestite male possono trasformare la soluzione in un intreccio di logica difficile da tracciare. Per mantenere le applicazioni scalabili e manutenibili, adotta alcune best practice consolidate:
- Riduci al minimo le variabili globali: limita l'uso di Set() alle impostazioni a livello di app e ai metadati utente. Usa UpdateContext() per gli stati dell'interfaccia specifici di una schermata, così da evitare effetti collaterali indesiderati tra schermate diverse.
- Svuota e reimposta in modo consapevole: assicurati sempre che le collection vengano svuotate o inizializzate correttamente quando l'utente avvia un nuovo flusso di lavoro. Lasciare dati obsoleti in una collection proveniente da una sessione precedente può causare bug bizzarri e invii di moduli errati.
- Documenta lo stato: usa i commenti nelle formule Power Fx—sì, Power Fx supporta i commenti con doppie barre (//)! Documentare dove le variabili vengono inizializzate e modificate ti farà risparmiare innumerevoli ore durante la risoluzione dei problemi.
- Sfrutta le formule con nome (App.Formulas): approfitta delle funzionalità più moderne di Power Fx, come le formule con nome nell'oggetto App. Si comportano come variabili che si ricalcolano automaticamente e possono semplificare notevolmente l'architettura dell'app rispetto alle tradizionali variabili imperative.
Conclusione e prossimi passi nel tuo percorso con Power Apps
Padroneggiare variabili e collection è una svolta importante nel tuo percorso low-code. Ti porta dalla creazione di interfacce statiche e rigide alla realizzazione di applicazioni aziendali dinamiche e intelligenti, in grado di adattarsi senza attriti all'input dell'utente e ai flussi di lavoro organizzativi complessi. Comprendendo come memorizzare temporaneamente singoli valori e gestire interi gruppi di record in memoria, sbloccherai il vero potenziale di Microsoft Power Apps.
Per approfondire come Power Fx alimenta queste esperienze e per ascoltare altri spunti pratici sullo sviluppo low-code, non perdere l'episodio completo del podcast, Microsoft Power Fx - Simply Explained. Inizia a sperimentare con le variabili nella tua prossima app, crea la tua prima collection e guarda la tua sicurezza come app maker prendere il volo!