Canvas apps vs model-driven apps
When to build a canvas Power App versus a model-driven app — pixel-perfect UI, data-driven structure, and the trade-offs each one forces.
Power Apps gives you two genuinely different app-building paradigms. Choosing the right one early matters; switching later is expensive.
Model-driven apps. A model-driven app is generated from a Dataverse schema. You define tables, columns, relationships, forms, and views; the platform renders a consistent, responsive UI around them. Customers see a familiar Dynamics 365 look — left navigation, command bar, business process flows along the top. Every record is reachable via a stable URL; advanced find, audit, security roles, dashboards, and reports all come for free.
Strengths of model-driven. Best for line-of-business CRM-style apps with rich Dataverse schemas and complex security. Standardised UX means little design work. Power BI dashboards, business rules, BPFs, and automation integrate cleanly. Dynamics 365's CRM-side apps (Sales, Customer Service, Field Service) are model-driven Power Apps.
Limits of model-driven. Layout is constrained by Dataverse's form designer; you can't put a button anywhere, you can't draw bespoke shapes, and you can't easily build a process that doesn't fit the table-and-form paradigm.
Canvas apps. A canvas app starts from a blank screen. You drag controls — galleries, text inputs, dropdowns, charts, image cards — and write expressions in Power Fx to wire them to data sources. You can mix Dataverse with SharePoint, SQL, REST APIs, Excel, and hundreds of other connectors in one app. The shape of the app is whatever you draw.
Strengths of canvas. Pixel-perfect UX. Mobile-first or kiosk-style apps where standard Dynamics 365 chrome would be overkill or distracting. Multi-source data where the user thinks of one screen, not five tables. Cross-data-source flows — e.g. an inspection app that writes to Dataverse and uploads photos to SharePoint.
Limits of canvas. No automatic role-based security on UI elements (you check in expressions). No built-in advanced find, dashboards, or reports — you build them. Scaling to dozens of screens gets unwieldy fast — apps with hundreds of controls become hard to maintain.
Custom pages. A modern hybrid: a canvas-app-style page embedded inside a model-driven app. Use them when 90% of your app is model-driven but one screen needs canvas-style flexibility (a dashboard, a wizard, a guided picker).
Choosing.
- Building a CRM-style app? Model-driven.
- Building a field-worker mobile app on top of multiple systems? Canvas.
- Need bespoke UI inside a CRM app? Custom page.
- Building a portal? Power Pages, not either of these.
The biggest mistake is building canvas when model-driven would do — and then re-implementing security, search, and reporting you'd have got for free.
Related guides
- App designer for model-driven appsHow to build a model-driven Power App — site map, tables, forms, views, business process flows, dashboards, and the app-experience layer.
- Sitemap customisation in model-driven appsHow to customise the navigation of model-driven Power Apps — areas, groups, subareas, role-based visibility, and the user-experience impact.
- Dataverse data model fundamentalsThe Dataverse data model — tables, columns, relationships, choices, security roles, and how it sits under Dynamics 365 and the Power Platform.
- The Dataverse security modelRoles, business units, teams, row sharing, and field-level security in Dataverse — the layers that protect data in Dynamics 365 CRM and Power Apps.
- Account hierarchies in Dynamics 365How Dynamics 365 models corporate parent-subsidiary relationships — account hierarchy field, hierarchy charts, security, and reporting roll-up.