Canvas Apps Custom Pages Embedded Canvas Apps

How to choose between the different types of Power Apps

Different apps on a mobile device
Different apps on a mobile device

Introduction

Power Apps is one of the key elements of the Power Platform. So a lot of enterprises use Power Apps to build enterprise applications for mobile and desktop that help digitize certain business processes. And with Power Apps, you get several different options: canvas apps, model-driven apps, embedded canvas apps, and finally, custom pages. We will look at the pros and cons of each in this post which will, hopefully, help you make the right architectural decisions

Canvas apps

Anybody who knows me and has followed my blog over the years, knows I love canvas apps. They are used to create pixel perfect UI and are usually used for creating apps that cater to specific tasks.

Pros

  1. They allow for a pixel perfect UI
  2. The UI/UX is heavily customizable
  3. They connect to several different data sources like Dataverse, SQL, SharePoint, etc.
  4. The designer experience is very intuitive with the ability to drag and drop standard controls

Cons

  1. Although it is part of a low-code platform, you need to write code for most tasks
  2. They are not responsive by default, you need to write code to make them responsive
  3. They are not accessible by default, you need to write code to make them accessible
  4. It is time consuming to build a canvas app that is not just functional but also presentable

Model-driven apps

Model-driven apps are more data centered and are ideal for back office use cases. Users who focus more on data and are not obsessed with custom UI find model-driven apps very useful.

Pros

  1. There are pre-built forms and views that require no code
  2. They are actually more in line with the low-code approach than canvas apps
  3. They are responsive and accessible by default
  4. They are usually very performant even with large amounts of data

Cons

  1. The UI isn't customizable for most parts
  2. Any and every model-driven app resembles D365 apps
  3. The designer isn't as intuitive as the one for canvas apps
  4. The only data source they can connect to is Dataverse

Embedded canvas apps

Embedded canvas apps blurred the boundaries between canvas and model-driven apps. These are simply canvas apps that can be embedded in a model-driven form. They bring all the pros of a canvas app into a model-driven app. However, there are limitations to using them.

Cons

  1. You can only have 3 embedded canvas apps on a form for web and one for tablet and one for phone
  2. Publishing a model-driven app does not publish an embedded canvas app
  3. You cannot see an embedded canvas apps when creating a new row since they need a row context to be passed to them
  4. The author of an embedded canvas app has to share the app with the end user

Click here to read my blog series on everything you want to know about embedded canvas apps.

Custom pages

Custom pages are like the super improved version of embedded canvas apps. They are like embedded canvas apps in that they allow adding a canvas app to a model-driven app but they are better in more ways than one. Think of forms and views in a model-driven app as pages. Custom pages allow to use a canvas app as a page in a model-driven app. They can be an entire page or they can be opened from within a form (as a right pop-up, center pop-up or full screen).

Pros

  1. Just like embedded canvas app, they bring canvas app UI capabilities to model-driven apps
  2. They can connect to multiple different data sources other than Dataverse, just like embedded canvas apps
  3. They can run both in the context of a record and without
  4. Unlike embedded apps, they do not need to be shared separately with users
  5. They automatically become part of the solution in which the model-driven app is
  6. They don't need to be published separately
  7. They count towards an app count when it comes to licensing
  8. There are no limitations on the number of custom pages in a model-driven app

To learn more about custom pages, click here.

Conclusion

As you can see, there are several options available when it comes to building apps using the Power Platform. It is important to pick the right option to ensure a successful implementation. With the advent of custom pages, the boundaries between canvas and model-driven apps have been blurred, making this choice easier than before.

Recent articles

  1. Make Power Apps more accessible
  2. Optimize performance in Power Apps
  3. Create a responsive pop-up using layout containers

Leave a Reply