The very first post I wrote for this blog outlined why you should build a model-driven app. Now, after six months of writing about all the great things we can build with model-driven apps, we finally look at canvas apps!

Canvas apps are already hugely popular with the Power Platform community for many reasons, such as:

  • You can build apps that do not require premium licensing.
  • You can access many different data sources, not just Dataverse.
  • You have more control over the look and feel of the app than with model-driven apps.
  • You can quickly build cross platform mobile applications.

Based on all of the points mentioned above, model-driven apps would seem to be an inferior choice surely? At first glance, yes. However, each of the above points should be considered thoroughly before embarking on building a canvas app, because they generally require more effort to build especially if a model-driven app can do the same job. You’ll find yourself writing code to handle aspects of your user interface that you wouldn’t have to do with a model-driven app.

Let’s address the first point on licensing. Model-driven apps are data driven applications that use Dataverse as their data store. The use of Dataverse will require all users to have premium licensing.

By contrast, canvas apps don’t have to be data driven applications. You could build a simple canvas app to test user response times, or even hardcode data into the application itself. You could even build a canvas app that triggers Instant Flows (see previous post) as long as you do not use premium connectors.

If you want to build data-driven applications, you can use SharePoint or Excel as a data store (more on this shortly).

Canvas apps are the introduction to Power Platform for many developers mainly because the cost of entry is zero, and you can easily build applications using a drag and drop interface. However, the old adage applies – you get what you pay for.

It won’t be long before you realise that free has its limitations. If your app uses Instant Flows, you’ll quickly discover that a lot of the connectors you want to use require premium licensing such as:

  • HTTP Connector (for accessing third party APIs)
  • Microsoft Word
  • Databases
    • Dataverse
    • SQL Server
    • Access
    • Cosmos DB
  • Custom connectors
  • Azure Service

Using SharePoint and Excel as a data source have their limitations also – they are not Databases. Many people start out using SharePoint lists or Excel tables in canvas apps instead of a proper database – this is fine for personal productivity, but it will not scale when your volume of users and/or data grows. You will notice severe performance lag over time. SharePoint/Excel should never be used as your data source in an enterprise grade or business critical solution.

Pages: 1 2 3

2 responses to “Building Canvas Apps Part 1: Considerations”

  1. Building Canvas Apps Part 2: The Basics of Galleries and Forms – Power Platform Pete Avatar

    […] outlined in the previous post, today we will build a canvas app! There are many great tools available to create a canvas app at […]

    Like

  2. Building Canvas Apps Part 3: Custom Forms, Containers and Patching – Power Platform Pete Avatar

    […] the first post of this series, we talked about how canvas apps give you much more control over the look and feel […]

    Like

Leave a reply to Building Canvas Apps Part 3: Custom Forms, Containers and Patching – Power Platform Pete Cancel reply