Microsoft Power Apps, which is part of the Power Platform stack, was launched to allow organisations to quickly and easily create custom apps, regardless of your coding knowledge. Power Apps allows users to drag and drop components to create apps. Not only does this remove the need for manual code and programming knowledge, but it also makes app development much faster and more convenient.
There are two main types of apps that Power users can build - canvas and model-driven - and today, we’ll be explaining the differences between the two, benefits and more.
What is a canvas app?
A canvas app is commonly seen in tablet or mobile apps when embedded in a Power BI dashboard. It’s exactly how it sounds - you get a blank canvas. From that, you can drag, drop, move, resize and reformat the components where you need them to build your user interface.
Once you’re happy with your design, you can integrate it with one or more data sources using Excel-style formulas.
Benefits of a canvas app
- Ease of use - there’s no data-driven approach involved (we’ll get onto this in our next section) so the user experience is usually more intuitive
- Low level of coding skill required - if you’re familiar with Microsoft Excel and PowerPoint, you’ll be able to build canvas apps
- Ability to be creative - no two apps will ever be exactly the same with a canvas app so you can be creative and individual with your designs
- Ideal for task-based or role-based solutions - particularly if the users won’t require full use of the Microsoft tech stack
Drawbacks of a canvas app
A main disadvantage of a canvas app is that it isn’t responsive by design. You get two layout/orientation options - portrait and landscape. You can make canvas apps responsive by manually adjusting the size and positioning of your components so they match the desired screen sizes.
However, you’ll need to repeat this for every individual component and control within the app. If there’s hundreds, this will certainly be a tedious and time-consuming task.
What is a model-driven app?
A model-driven app allows you to quickly add components (e.g. dashboards, charts, forms etc) to your apps. However, it takes on a more data-driven approach than the canvas app, which is where its alternative name is derived from (data-driven app).
What this means is most of the user interface components will be based on data that you choose. This data will be stored in your Common Data Service (CDS), also known as Dataverse, the cloud-based storage space where you can store your business data.
Benefits of model-driven apps
- Ideal for apps that require complex business logic - this is because model-driven apps focus on data. An example of such an app is an end-to-end solution that involves users from different teams and multiple processes
- Responsive by design - unlike canvas apps, model-driven apps will render themselves to match the device of your choice
Drawbacks of model-driven apps
- Rigid in design - because your UI components are based on data, the design process is typically more rigid in a model-driven app. However, there is still some room for customisation
Canvas app vs model-driven app: Which is better?
To be honest, one isn’t really better than the other. Yes, a canvas app might be better suited to task or role-based solutions and a model-driven app might be more ideal for end-to-end solutions. But who’s to say you won’t need both types of solutions?
In other words, you should be looking to see where canvas apps and model-driven apps can complement different business processes.
Is it easy to flip between the two types of apps?
When you create your data structure, your entity creation will likely be in a CDS and you can reuse that and any connections you work on in either of the apps. In a model-driven app, once you’ve created and/or are adding new tables (formerly known as entities), designing a model-driven app interface from that is fairly quick and easy. It’s what it’s made for.
But in the canvas app, you’re specifically placing parts. For that reason, it’s not as easy to convert into a model-driven app.
My top tip? If you’re doing something that looks like sales, such as a very quick entry on a browser session, you can start with model-driven. If you want to embed that somewhere or you want something on your phone/tablet as you’re on-the-go, then a canvas app is a better fit.
How to maximise the Power Platform in manufacturing
I actually dig into the Power Platform and how manufacturers can unlock its true potential in a ColumbusCast podcast episode. Search for ‘ColumbusCast’ in your podcast app to listen via your phone or tablet. Or, hit the play button below.
To learn more about how you can build a Power Platform Centre of Excellence (CoE), download our guide below. We cover the main reasons for why data mobility projects fail, the role of user adoption and what the ideal CoE looks like.