Power Apps -
Canvas Apps vs Model-driven Apps - When to use? [#shorts]
Daniel Cieckiewicz
What must you know?
Power Apps Canvas Apps type differs from the Power Apps Model-driven Apps type.
Licensing is different for those two, even if we have on Power Apps licensing model.
Datasource also can be different.
The capabilities are different.
Canvas Apps and Model-driven Apps have their pros and cons regarding the business scenario they must address. For some business cases, Canvas Apps will be the best approach; for others, Model-driven Apps would be the better choice. They are just different; you must learn how to adapt the strategy and technology to the given business scenario.
In this article, I will show you how to assess the differences between Canvas Apps and Model-driven Apps and evaluate the best choice in terms of the business case.
This is what Microsoft says about the Power Apps Canvas Apps, and Model-driven Apps:
Design and build a business app from a canvas in Microsoft Power Apps without writing code in a traditional programming language such as C#. Design the app by dragging and dropping elements onto a canvas, just as you would design a slide in PowerPoint. Create Excel-like expressions for specifying logic and working with data. Build apps that integrate business data from a wide variety of Microsoft and third-party sources. Share your app so that users can run it in a browser or on a mobile device, and embed your app so they can run it in SharePoint, Power BI, or Teams.
If you don't need a custom design and your data is in Microsoft Dataverse, you can automatically generate a model-driven app from your business data and processes. This type of app can model forms, views, and other components, and the default UI automatically adjusts to phones, laptops, and other devices. For more information about this type of app, see Overview of building a model-driven app.Microsoft
Power Apps Canvas Apps - what must you know?
Power Apps Canvas Apps allow you to:
- Design the app – you can create your design. You start with a blank canvas – this is why they are called Canvas Apps; from this, you can create an app with your design that will suit your customers.
- Connect the app to the different data sources – in Power Apps, this type allows you to work with all data sources available for Power Apps: Dataverse, SQL, SharePoint, Excel, OneDrive, Amazon S3, and so on. You can even work with many of them at once.
- Add a Power Fx low-code formulas – in Canvas Apps, you can work with a low-code Power Fx language. It allows you to implement various business rules, custom mechanics and work with different data sources. These low-code formulas are straightforward to implement – they are based on a low-code programming language similar to Excel functions.
- Add many different components to the application – media, pictures, timers, icons, barcode scanners, microphone recorders, maps, shapes, charts, and many other features are available and ready to be used.
- Create a fully responsive layout – there are components available in Power Apps that allow you to create a responsive design so the application can adjust to the available space. Moreover, the application can be readily displayed on mobile devices and the Teams app. Remember that the application is not responsive by design – proper components must be used for the application to be responsive – but this is doable!
- Create a design using Figma – Power Apps has a very cool feature where you can create an application’s design in Figma and then import it to Power Apps. In one of my articles, I described it: Overview of creating Power Apps from Figma.
- Embed the application in a Model-driven App – did you know that? You cannot embed Model-driven App, but you can embed the Canvas Apps in a Model-driven App tab!
- Work without Power Apps license – You can work with different data source types with Canvas Apps. If you already have Microsoft 365 license, there is a high chance that you can already work with Power Apps Canvas Apps with free connectors – like SharePoint. Then, you don’t need a Power Apps license.
Power Apps Model-driven Apps - what must you know?
Power Apps Model-driven Apps allow you to:
- Work with Dataverse data – this type of Power Apps is specifically designed to work with Dataverse. Very often, the data is the critical point, not the design. You start with a table and then create the application.
- Think more about the business scenario – as I mentioned before, Model-driven Apps are data-oriented, and things like forms, views, and design are not something Project Team must think about first. The main focus of this type of Power Apps is given to business scenarios, workflow, users, and roles.
- Stop thinking about the design – this type of Power Apps comes with a pre-populated design for the entire application. Forms, views, and top, left, and middle panels are already built for you. You can only reorganize where forms, views, and other basic components are displayed. But, besides that, you cannot change much. In many different business cases, the design is not very important – in those examples, the predesigned application is ready to use. Power Apps Model-driven apps are also responsive by design!
- Use pre-populated components – forms, views, dashboards, relationships, navigation panels, and other components are prebuilt for you. You don’t need to create them yourself – just add them to the application. Very often, there is even no configuration required. It is that easy.
- Address very complex business logic – Power Apps Canvas Apps also allow you to do that. Still, Model-driven Apps are designed to handle very complex business scenarios and are very efficient in doing so. You can use business rules, business units, and many different user roles, and the application will handle most of the configuration by itself.
Questions that can help determine which Power Apps type you should go with
- Is the custom design required?
- Yes: Canvas Apps
- No: Model-driven Apps
- What data source will be used?
- Dataverse: both
- Other than Dataverse: Canvas Apps
- How many different user roles are required?
- 3 or fewer: both
- More than 3: Probably Model-driven Apps. Canvas Apps will do as well. If you choose Canvas Apps, you will need to provide the application with many business rules (they must be created from scratch) and different scenario layouts.
- How much database capacity will be required per year?
- Less than 2000 per year – both
- More than 2000 per year – preferably Model-driven Apps, but Canvas Apps will do as well. You will just need to invest your time to avoid the Delegation problem in your data source filtering. I wrote an article that addresses this topic: Understand Delegation in Power Apps.
- Should the application be available on phones with a portrait layout?
- Yes – Canvas Apps
- No – both
- What is the Client’s budget for the project? (stop laughing, I am not kidding). If a Client needs something basic, without bells and whistles to just get their hands wet, you should probably go with Model-driven Apps.
- Low – Model-driven Apps
- High – both
Those are the fundamental questions – If you get answers to those, you should be ready and choose whether the Canvas App or a Model-driven App is more suitable for a specific business case.
Summary
If you are looking for an answer to which Power Apps type is better – there is no answer to such a question. Different business requirements help determine the approach and help you choose whether Power Apps Canvas Apps will be the better choice, or Power Apps Model-driven Apps will suit the specific business scenario. I hope you learned how to determine the approach. I also hope you found an answer to the differences between Canvas Apps and Model-driven Apps.
So, finally, we are at this point where I should thank you for your time and reading this article. Feel free to rate this article and comment if you liked it. If you have any questions, feel free to contact me (via contact@poweruniverse.org), but first, you may be interested in joining a Newsletter. Hmm? (Sign up here) If you already did, wow, thanks, thanks a lot
Via Newsletter, I am sharing insights into my work, plans for upcoming weeks, and knowledge about Power Platform Universe and the IT world. If you are interested, feel free to join! I am going to send the latest Newsletter to everyone who enters!
See you!
Daniel Ciećkiewicz
I am a Senior Power Platform Consultant focused on Dataverse, Power Apps, and Power Automate. I was also a Team Leader responsible for the Power Platform Team and their development paths.
In my private life, I like video games, sports, learning & gaining knowledge, and a taste of good Scotch Whisky!
Ooo, I almost forgot, I love our Polish Tatra Mountains!
Power Apps Licensing Explained
Power Apps Licensing – this is something every Power Platform expert must know. In this article I will walk you through the cons and pros of available plans.
Understand Delegation in Power Apps
In this article I will walk you through delegation in Power Apps and I will show you many interesting concepts how to work with delegation and understand Delegation in Power Apps!
Connection vs connection reference in Power Platform
In this article I will tell you what is the difference between connection and connection reference in Power Platform. It is very good to know the advantages.
Overview of a Tenant Isolation in the Power Platform
What is Tenant Isolation in the Power Platform? How does it work and how do you know it will be good for your organization? Check the article!
The most interesting Power Platform features of 2024 – Wave 1 update
Do you want to know what updates are coming in 2024? This article will tell you more about incoming updates for Power Platform in Wave 1.
Use a Service Principal to run Dataverse actions in Power Automate
Do you want to learn how to use a Service Principal to work with Dataverse actions in Power Automate? This article is for you. Check it out.
[…] I wrote an entire article here on Power Platform Universe discussing this topic. Check it out: Power Apps – Canvas Apps vs. Model-driven Apps – When to use? […]