Power Apps è il servizio della Power Platform che permette di creare applicazioni business personalizzate con un approccio low-code: invece di scrivere codice riga per riga, si compone l’app trascinando componenti visuali, collegando dati e definendo la logica con formule simili a quelle di Excel. L’obiettivo è mettere la creazione di app anche nelle mani di citizen developer — utenti di business senza formazione da sviluppatore professionista — riducendo tempi e costi rispetto allo sviluppo tradizionale.

Ogni app Power Apps si connette ai dati tramite i connector (oltre a Microsoft 365, Dataverse, SharePoint e centinaia di servizi esterni) e può essere consumata da browser o dall’app mobile Power Apps. In sede d’esame la competenza chiave è saper riconoscere quale tipo di app conviene per un dato scenario.

I tre tipi di app

Power Apps mette a disposizione tre approcci, ciascuno pensato per esigenze diverse.

Canvas app

Le canvas app partono da una tela bianca: chi le costruisce ha controllo totale sul layout, posizionando pixel per pixel schermate, pulsanti, gallerie e moduli. La logica si definisce con formule in linguaggio Power Fx. Sono ideali quando serve un’esperienza mobile-first, curata nel design o legata a un processo specifico, e possono attingere a molte origini dati contemporaneamente.

  • Casi d’uso: app per ispezioni sul campo, raccolta ordini da tablet, checklist di sicurezza, approvazione spese da smartphone.
  • Punto di forza: massima libertà di design e integrazione multi-sorgente.

Model-driven app

Le model-driven app ribaltano l’approccio: si parte dal modello dati in Microsoft Dataverse e l’interfaccia viene generata automaticamente in modo responsive a partire da tabelle, relazioni, form e view. Il creatore configura la struttura dei dati e i processi, non la grafica di dettaglio. Sono adatte ad applicazioni complesse e data-centric, dove conta la coerenza dei dati più della personalizzazione estetica.

  • Casi d’uso: sistemi tipo CRM, gestione casi di assistenza, tracciamento asset, processi di onboarding strutturati.
  • Vincolo importante: richiedono Dataverse come backend (le canvas app no).

Power Pages

Power Pages (evoluzione dei vecchi portali) serve a creare siti web esterni rivolti a clienti, cittadini o partner, con pagine a bassa scrittura di codice e dati salvati in Dataverse. Consente accesso anonimo o autenticato a utenti esterni all’organizzazione.

  • Casi d’uso: portale self-service per clienti, sito di raccolta candidature, pagina pubblica per prenotazioni o richieste di supporto.
  • Distinzione chiave: è l’unica opzione quando il pubblico è esterno e via web, non un dipendente che usa un’app aziendale.

Come orientare la scelta

Una regola pratica utile a livello fundamentals:

  • Serve un’esperienza su misura, mobile, con più origini dati? → canvas app.
  • Serve un’app strutturata su dati complessi in Dataverse, tipo gestionale? → model-driven app.
  • Serve un sito web accessibile a utenti esterni? → Power Pages.

Le differenze tecniche di ciascun tipo verranno approfondite nelle unità successive; qui è sufficiente saper associare lo scenario al tipo corretto.

Trappole tipiche d’esame

  • Scenario: un tecnico deve compilare report di manutenzione da smartphone, con layout personalizzato e foto → Risposta giusta: canvas app (design su misura, mobile, multi-sorgente).
  • Scenario: l’azienda vuole un sistema tipo CRM per gestire casi clienti con relazioni complesse su Dataverse → Risposta giusta: model-driven app (data-centric, UI generata automaticamente).
  • Scenario: clienti esterni devono aprire ticket di supporto tramite un sito web pubblico → Risposta giusta: Power Pages (sito web per utenti esterni, non un’app interna).
  • Scenario: “quale tipo di app genera automaticamente l’interfaccia a partire dal modello dati?” → Risposta giusta: model-driven app (non la canvas, che è a tela libera).
  • Scenario: serve costruire un’app con controllo pixel-perfect del layout senza obbligo di usare Dataverse → Risposta giusta: canvas app (le model-driven richiedono Dataverse).