Skip main navigation

How to choose between a canvas and a model-driven app

This article walks you through how to choose between creating a canvas app and a model-driven app. Let's explore.

Choosing between creating a canvas app and a model-driven app is a necessary part of starting a project. Both offer unique characteristics that you should consider in making your decision.

Some projects may even include one or more of each of these as part of the overall solution.

PowerApps

The October 18’ update of PowerApps introduced the ability to host a canvas app on a model-driven form. That starts to blur the boundary lines between the app types, allowing you to use the techniques you need all in the same user experience.

Often you will need to decide one way or another which path to start down and that is what we will be talking about here.

Generally, if your app is data-focused and the data is in or could be in CDS, model-driven applications are generally more productive to get up and running quickly.

If your app needs to have a more custom layout or use connectors, generally canvas apps deserve a first look.

Here are some other things to consider when making the choice:

Canvas apps Model-driven apps
Complete control of layout Quick layout with customisable views and forms
Easier to have dynamic visualisations on a page Could include a canvas app for dynamic visualisation of content*
SharePoint or Teams app embedding
Use of business process flow control
Easy access to connectors
Rules would have to be implemented in each canvas app using expressions/formulas as only CDS entity scoped business rules are used CDS client-side business rules and developer client script API
Role-driven components (forms and dashboards)
Automatic use of CDS language translation for entity messages and display labels
Responsive user experience requires effort on the app creator to adapt to changes Responsive user experience across devices
Access to signals including geolocation Only developers can access location using code
A single person working on building the app at a time Supports multiple people building the app as long as they are working on different components (e.g. forms)
Can include content and features from other AppSource ISVs merged together augmenting the app features

*Feature is in preview as of this writing

This article is from the free online

Dynamics 365: Using Power Platform Applications

Created by
FutureLearn - Learning For Life

Reach your personal and professional goals

Unlock access to hundreds of expert online courses and degrees from top universities and educators to gain accredited qualifications and professional CV-building certificates.

Join over 18 million learners to launch, switch or build upon your career, all at your own pace, across a wide range of topic areas.

Start Learning now