Power Platform – How do we choose between Canvas vs Model-driven Apps

Hello Everyone,

In our following previous articles we discussed about Canvas apps and Model-driven apps as

  1. Power Platform – Power Apps – Exploring Canvas App for beginners – Demo
  2. Power Platform :- Creating Canvas App in Power App using SharePoint List for Beginners
  3. Power Platform – Creating a basic Canvas App and fetching data from data source Excel from OneDrive for Business
  4. Power Platform – Creating Canvas App from Scratch with Excel Data
  5. Power Platform – AI BUILDER – Use AI Builder model (Business Card Reader and use cases) in Power Apps (Canvas App) – Part 5
  6. Power Platform – Introduction of Model-Driven Apps
  7. Power Platform – Creating Model-Driven Apps for beginners Part-1
  8. Power Platform – Creating Model-Driven Apps for Beginners Part-2

Now which one is better or which one will be choose it’s still a question for us so in this article we are going to discuss about the difference between Canvas and Model-driven apps.

Canvas Apps vs Model-driven Apps

Canvas apps and Model-driven apps are best suited for different use cases.

Canvas App :

  • Canvas apps are ideal for building task-based or role-based applications.
  • For example, in companies not all employees or team have same role and same responsibilities.
  • Since this team is focused on one task, it likely doesn’t require all of the functionality of the full Microsoft suite.
  • In this case, it would be better to build a canvas app dedicated specifically to the task of team or employee.
  • Canvas apps are mostly PC and mobile device business applications built without code.  
  • Canvas apps uses a PowerPoint like user interface and Excel formulas for configuration. 
  • Canvas apps can connect to many Microsoft and non-Microsoft data sources.
Power Platform - Fig.1 - Example of Canvas Apps
Power Platform – Fig.1 – Example of Canvas Apps

Model-driven Apps :

  • Model-driven apps on the other hand, are better for creating end-to-end solutions.
  • For example, after a customer service support ticket has been created, it must be routed, addressed, updated, marked as complete, and so on.
  • There will likely be quite a few teams, roles, and processes involved in this complete cycle of case resolution, which would require a model-driven app.
  • Model-driven apps are essentially an app built using the Dynamics 365 framework.
  • They look like Dynamics 365 and have a lot of the features of Dynamics 365.
  • Model-driven apps uses the Common Data Service as their data source.
 Power Platform - Fig.2 - Example of Model-Driven App
Power Platform – Fig.2 – Example of Model-driven App

This article gives a quick comparison of Canvas vs Model-driven apps by evaluating them over the following areas:

  • User Experience
  • Business Situations
  • Application Feature Set
  • Data Validation
  • Data Sources
  • Ease of Configuration
  • Extensibility

User Experience (UX)

Canvas Apps

  • With Canvas Apps you have a lot of control over the user experience of the app.
  • The look and feel can be configured and there is a range of different controls that can be used. 
  • You can configure the app to behave exactly like your users want it to.
  • Use Canvas Apps when you have users that are not tech savvy and provide them with a clean, simple and intuitive UX.

Model-driven Apps

  • The user experience is the same as the Dynamics 365 Unified Interface UX.
  • Dynamics 365 version 9.0 and above the new Unified Interface has been accepted more readily as a good UX design by end users.

Business Situations

Canvas Apps

  • Canvas apps are best suited to simple applications that have a very specific use for e.g. submitting a leave request or carrying out a site inspection. 
  • Complex apps can be configured but the effort to do so become significant.

Model-driven Apps

  • Model-driven apps are more suited to complex applications that have multiple layers and functions.

Application Feature Set

Canvas Apps

  • Canvas apps can be generated from a data source where the PowerApps platform builds a simple app based on the data structure. 
  • Straight away, the app is ready to use with search, read, write and delete functionality but not a lot else. 
  • Richer functionality can be added but it needs to be configured which can be time consuming.

Model-driven Apps

  • As explained in Build Feature Rich, Codeless, Business Applications using Microsoft PowerApps, Model-driven apps have inherited a lot of the Dynamics 365 framework including things like auditing, role based security, business process flow, Exchange integration, Timeline control etc. 
  • These features would be very time consuming (and even impossible in some instances) to build using Canvas apps.

Data Validation

  • Data validation is carried out via Dynamics 365’s Business Rules functionality that the Common Data Service has inherited, which is available to both Canvas and Model-Driven apps.
  • However, Canvas apps can connect to other data sources which will need their own way of performing data validation. 
  • Canvas apps do not necessarily have to use the Common Data Service as a data source.

Data Sources

Canvas Apps

  • As well as the Common Data Service, Canvas apps can connect to a bunch of online and on-premise data sources such as Twitter, Office 365, SharePoint, DropBox, SQL Server etc. 

Model-driven Apps

  • The Common Data Service is the only data source for Model-driven apps. 
  • However, you can integrate data from other data sources using PowerApps Data Integration Projects.

Ease of Configuration

Canvas Apps

  • It is really easy to configure a simple Canvas App from a data source and have search, read and write functions automatically built for you but the app will be ugly and most likely not well adopted by your users. 
  • To gain a better user experience the configuration tools for Canvas apps are really powerful and you can end up with a really slick app.

Model-driven Apps

  • If you are a Dynamics 365 configurator you will take to configuring Model Driven apps like a duck to water, it is all the same.
  • You can take advantage of your investment in Dynamics 365 skills to extend your business apps portfolio.

Extensibility

  • The Common Data Service has inherited the Dynamics 365 Customer Engagement web services. 
  • Since the Canvas and Model-driven apps use the Common Data Service as a data source these web services can be used to interact with the Common Data Service in order to enhance your app.
  • Plugins and workflow extensions (from Dynamics 365 Customer Engagement) can also be developed for the Common Data Service to apply business logic that cannot be configured.

Thanks for reading. If it’s worth at least reading once, kindly like and share. STAY SAFE STAY HEALTHY.

Share In Teams:

To know more about Power Platform please have a look our Power Platform series – https://knowledge-junction.com/?s=Power+Platform

This site uses Akismet to reduce spam. Learn how your comment data is processed.