Scegliere il tipo di app è una delle prime decisioni architetturali che un functional consultant affronta in Power Platform. Power Apps offre due modelli distinti — model-driven app e canvas app — che non sono intercambiabili: partono da presupposti diversi su dati, layout e produttività. Capire quando usare l’uno o l’altro è competenza d’esame centrale in PL-200.

Model-driven app: guidate dai dati

Le model-driven app si costruiscono “dall’alto verso il basso”, partendo dal data model in Microsoft Dataverse. L’interfaccia (form, view, chart, dashboard) viene generata automaticamente dai metadati delle table, dalle relationship e dalle business rule. Il risultato è un’applicazione responsive e coerente con il Fluent design, senza dover disegnare manualmente un singolo pixel.

Caratteristiche chiave:

  • Native su Dataverse: richiedono obbligatoriamente Dataverse come backend, non possono attingere ad altre origini.
  • Componenti pronti: command bar, ricerca, filtri, viste ordinabili, form con tab e sezioni, business process flow e sub-grid relazionali sono forniti out-of-the-box.
  • Sitemap: la navigazione si configura tramite l’app designer, che orchestra table, form, view e dashboard in aree e gruppi.
  • Sicurezza granulare: rispettano automaticamente security role, column-level security e regole di Dataverse.

Sono la scelta d’elezione per gestionali complessi e data-centric: CRM, case management, dispatch, sales, service — scenari con molte entità correlate, processi guidati e utenti interni.

Canvas app: layout pixel-perfect e multi-source

Le canvas app si costruiscono “dal basso verso l’alto”: si parte da una tela vuota e si compone la UI trascinando controlli, con controllo totale su posizione, colori e comportamento, in stile PowerPoint. La logica si scrive in Power Fx.

Caratteristiche chiave:

  • Multi-source: possono connettersi contemporaneamente a Dataverse, SharePoint, SQL, Excel, API custom e centinaia di connector (standard e premium).
  • Pixel-perfect: ideali quando serve un’esperienza su misura, brandizzata o task-specific.
  • Mobile-first: perfette per uso su smartphone/tablet, scenari sul campo (ispezioni, checklist, foto, firma), spesso combinate con Power Apps mobile.
  • Embeddable: si incorporano in Teams, SharePoint, model-driven form (custom page) e altre superfici.

Il rovescio della medaglia: ogni schermata, filtro, form e galleria va costruito a mano. Il layout responsive non è automatico e richiede lavoro esplicito.

Criteri di scelta per scenario

Fattore Model-driven Canvas
Origine dati Solo Dataverse Multi-source
Layout Automatico, responsive Manuale, pixel-perfect
Complessità dati Alta, molte relazioni Bassa/media, task mirato
Effort UI Minimo Elevato
Uso tipico Gestionale interno, desktop Mobile, sul campo, brandizzato

Domande guida da porsi:

  • I dati sono già in Dataverse e il modello è ricco di relazioni? → propendi per model-driven.
  • Devi combinare più origini o serve un layout su misura per mobile? → canvas.
  • Serve entrambe le cose? Considera un approccio ibrido con custom page (una canvas app embeddata dentro una model-driven).

App designer e maker portal

Il maker portal (make.powerapps.com) è l’ambiente unico da cui un maker crea entrambi i tipi, seleziona l’environment corretto, gestisce table Dataverse, connection e solution. È buona prassi lavorare sempre dentro una solution per garantire ALM e portabilità tra ambienti.

L’app designer è lo strumento con cui si assembla la model-driven app: vi si aggiungono le page (table con relative view/form), i dashboard e si configura la navigation. Per le canvas app l’editor equivalente è Power Apps Studio, orientato al design della tela e a Power Fx.

Trappole tipiche d’esame

  • Gestionale complesso su Dataverse con molte relazioni → model-driven, non canvas. Ricostruire a mano griglie, form relazionali e command bar in una canvas app raddoppia il lavoro di UI che la model-driven fornisce già pronto e responsive.
  • Serve unire Dataverse + SharePoint + un connector premium in un’unica app → canvas. La model-driven non supporta origini diverse da Dataverse: se lo scenario cita più data source, la risposta è canvas.
  • App mobile brandizzata per operatori sul campo (foto, firma, GPS) → canvas. Il layout pixel-perfect e i connector di device sono terreno delle canvas app, non delle model-driven.
  • Serve UI custom dentro un’app data-centric esistente → custom page (canvas embeddata nella model-driven), non due app separate.
  • “Quale strumento per assemblare la navigazione di una model-driven app?” → app designer (con la sitemap), non Power Apps Studio, che riguarda le canvas app.