As organizations make moves to modernize existing applications or processes, looking at Microsoft’s Power Apps low-code options and choosing the best fit can be a bit of a challenge, especially if you’re new to the Power Platform. Let’s take a look at model-driven app vs. canvas app vs. portal app and when you might want to choose a specific type based on your business needs.
A model-driven app is best for when your requirements involve large quantities of data and no custom design. Dataverse (formerly Common Data Service) is required to store your data, and that structured data is the basis for model-driven apps. Once you have your data structure set up, you can create a model-driven app within minutes that will allow you to view, edit and manage that data with customizable views, forms and dashboards. Model-driven apps are responsive, with no extra work required for that feature.
You can think of a canvas app as your “blank canvas”. When you create a canvas app, you are able to customize the user experience in any way you would like using a drag-and-drop interface. Canvas apps can be low code, but the option is there to add code when you need more complex configurations and calculations. These apps are great for when you need a lot of flexibility in both design and user experience.
On the other hand, canvas apps can be more time-intensive to develop, especially for data-intensive requirements. They are not responsive – screen size is fixed, and if you need multiple screen-size support, you will need to create multiple apps if your initial app is not sufficient. Grids/views are complex and require code to sort and search.
Portals are external-facing websites that enable you to give users outside the organization access to work with data from Dataverse. External users can be added to security roles configured to give them access to what they need to see but prevent them from seeing or manipulating data that they should not. Initially, Portals were only available as an add-on to the Dynamics 365 customer engagement apps, but now they can be configured to work with Dataverse in a standalone capacity. The user interface of portals can be customized to match your organization’s branding and is responsive out of the box.
So, which type of app should you choose? The following table maps requirements to the app capabilities that were just discussed.
|Canvas App||Model-Driven App||Portal|
|Low code||Yes, but code is available||Yes||Yes|
|Custom user interface design||Yes||No, but canvas apps can be embedded||Yes|
|Large amounts of data||Not ideal||Yes||Yes|
*Canvas apps and model-driven apps can allow external users, but they must have a license assigned to them, which means they either need a guest account on your tenant or they will need to be added as a user in your tenant. Portals allow users to be anonymous or to sign in using other authentication providers, such as Facebook or Google.
Sometimes the requirements could mean that you may need more than one type of app. Perhaps you need a model-driven app for viewing and interacting with large amounts of data, but users are used to entering that data in a certain way that can more easily be done via canvas app. In this case, you could choose to utilize the various app’s best features and embed the canvas app in your model-driven app to combine the experience for the users.
Whatever the situation is, you will likely find a solution with one (or two) of Microsoft Power Apps low-code options.