With the evolution of PowerApps, this post will explain the benefits and differences between canvas-based and model-driven apps.
Model-driven app design doesn’t require code (Low code, No code) and the apps you make can be as complex as required, which may be not at all. With model-driven apps, much of the layout is largely designated by the components you add to the app, and personal preference of the app designer. Note, If you have been working with Dynamics 365 Customer Engagement, you have been working with model-driven apps. The Dynamics 365 platform has been integrated into the Common Data Service (CDS). You create the entities and data structure for your apps while you are building them.
Examples of these apps can be utilised:
- Creating your data source
- Entities, tables, relationships, fields
- Grouping business functionality into one app
- For example, a client check-in app, where a customer service representative has a model driven app that groups the functionality they need together in one app
- Business process flows that guide users through a common business process
- The unified client interface means your app will look the same whether it is being viewed on a phone, tablet or desktop
Below for an example of a model-driven app.
Canvas-based apps have been around since PowerApps first came on the scene over 2 years ago. Design custom apps by dragging and dropping elements onto a canvas, just as you would design a slide in PowerPoint. You start by designing a User Interface for your app, think PowerPoint design, with Excel formula functionality, and connect it to the data available through out of the box connectors (100’s available), or by creating your own. The great thing about canvas apps is that you can connect to most of the data sources that are included in your Office 365 (O365) license.
Examples of how these apps can be utilised:
- Consolidating multiple data sources together into one app
- Data from Dynamics 365, O365 SharePoint lists, SQL databases, and many more
- Creating a custom UI
- Providing a user friendly mobile-first application
- Increased flexibility with development of functions and controls
One thing to keep in mind with canvas-driven apps, you need to already have your data sources created to build the framework of your app. For example, see the screenshot below of a canvas app:
You can’t go wrong with building either type of app, but you may want to read my next blog ‘Time to Build’ it may help decide which way to go.