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.