Le canvas app sono uno dei due modelli di app di Power Apps (l’altro sono le model-driven app). Il loro tratto distintivo è il controllo pixel-level del layout: parti da una tela bianca e posizioni ogni elemento tramite trascinamento (drag-and-drop), esattamente come faresti in PowerPoint. Questo le rende la scelta ideale quando l’esperienza utente (UX) è prioritaria e vuoi disegnare un’interfaccia curata, guidata e su misura per un’attività specifica.
Quando scegliere una canvas app
Opti per una canvas app quando:
- Vuoi la massima libertà di design: colori, posizione dei controlli, schermate personalizzate, branding aziendale.
- L’app deve connettersi a più fonti dati diverse contemporaneamente (non solo Dataverse).
- L’obiettivo è digitalizzare un task specifico e lineare — un’ispezione sul campo, una richiesta ferie, un modulo di raccolta dati — pensato spesso per l’uso su mobile o tablet.
Al contrario, se il progetto ruota attorno a dati strutturati e complessi in Microsoft Dataverse e vuoi un’app generata automaticamente dal modello dati, la scelta corretta è la model-driven app, non la canvas.
Flessibilità delle fonti dati con i connettori
Il punto di forza delle canvas app è l’ampiezza delle sorgenti a cui possono agganciarsi tramite i connettori, il concetto già incontrato che permette a Power Platform di dialogare con sistemi esterni senza scrivere codice di integrazione.
- Connettori standard: SharePoint, Excel (in OneDrive/SharePoint), Microsoft Dataverse, SQL Server, Outlook e molti altri, inclusi nei piani base.
- Connettori premium: Salesforce, SAP, Azure SQL e connettori HTTP personalizzati, che richiedono licenza dedicata.
- Connettori personalizzati (custom): per esporre API proprietarie non ancora coperte dal catalogo.
Una singola canvas app può combinare più connettori nella stessa schermata: ad esempio leggere anagrafiche da SharePoint, arricchirle con Dataverse e inviare notifiche via Outlook.
Power Fx: la logica in stile Excel
Per aggiungere comportamento e logica alle canvas app si usa Power Fx, il linguaggio di formule low-code di Power Platform, deliberatamente ispirato alle formule di Excel. Chi conosce Excel si sente subito a casa: le espressioni sono dichiarative e si scrivono sulle proprietà dei controlli.
Caratteristiche chiave di Power Fx:
- Sintassi simile a Excel: funzioni come
If(),Filter(),Sort(),Sum(),Navigate(),Patch(). - Ricalcolo automatico: come in un foglio di calcolo, quando cambia un valore le formule dipendenti si aggiornano da sole.
- Espressioni legate alle proprietà: si imposta cosa deve mostrare o fare un controllo (testo, colore, visibilità, azione al clic) scrivendo una formula, non righe di codice imperativo.
- Low-code, non no-code: consente logica ricca (validazioni, navigazione, scrittura dati) restando accessibile a chi non è sviluppatore.
Grazie a Power Fx, un maker (creatore di soluzioni) può, ad esempio, filtrare una galleria in base a un campo di ricerca o salvare un record con Patch() senza mai scrivere codice tradizionale.
In sintesi
Le canvas app uniscono libertà totale di design e connettività ampia, mentre Power Fx fornisce la logica con la familiarità di Excel. Insieme permettono di costruire rapidamente applicazioni curate e connesse, coerenti con la filosofia low-code di Power Platform.
Trappole tipiche d’esame
- Scenario: serve un’app con layout altamente personalizzato e branding curato, pensata per l’uso mobile → la risposta giusta è canvas app (non model-driven).
- Scenario: l’app deve basarsi su un modello dati complesso in Microsoft Dataverse e generarsi in gran parte automaticamente → scegli model-driven app, non canvas.
- Scenario: “Quale linguaggio uso per aggiungere logica a una canvas app con sintassi simile a Excel?” → la risposta è Power Fx (non JavaScript, non C#, non Power Query).
- Scenario: l’app deve leggere e scrivere su più fonti dati diverse (SharePoint, SQL, Dataverse) nella stessa esperienza → punto di forza delle canvas app tramite i connettori.
- Scenario: occorre collegarsi a Salesforce o SAP da una canvas app → serve un connettore premium (licenza dedicata), non è coperto dai connettori standard.