Power Apps Primer: Canvas vs. Model-Driven Apps
Microsoft PowerApps is an innovative program designed to democratize software development and make it easy for organizations to rapidly spin up custom applications. To do so, PowerApps uses low-code, a software development technique that enables users to design and develop apps by dragging and dropping components into a flowchart-style formation. Low-code development has become popular in recent years, especially in light of the ongoing developer shortage, because it eliminates the need for manual code, making it a fast and convenient alternative to manual programming.
PowerApps users can use the program to build either canvas applications or model-driven applications. In this article, we’ll explain the difference between these two types of apps, how they work, and when you should use canvas vs. model-driven apps.
Discover the Benefits of PowerApps Today
What Are Canvas Applications?
Canvas apps are exactly what they sound like: PowerApps provides you with a blank canvas onto which you can drag and drop components in any formation to design a user interface. Once everything is in its proper place, you can make additional adjustments to the size and formatting of each of these components. When you’re satisfied with your design, you can connect it to one or more data sources using basic, Excel-style formulas.
The primary appeal of canvas apps in PowerApps is their ease of use. Since you don’t have to worry about how data is structured with canvas apps, they offer a much more intuitive user experience than model-driven apps. If you’re able to use PowerPoint and have a basic understanding of Excel formulas, you can build canvas apps. Canvas apps also allow for a high degree of creativity and individuality — no two apps are ever exactly the same. As an added bonus, canvas apps can pull data from over 200 unique data integration sources right out of the box, making them more flexible than model-driven apps. To see canvas apps in action, look to the GIF below.
Canvas App Example
Canvas apps are not responsive by design. They come with two basic layout options: Landscape or portrait orientation. That said, it is possible to make canvas apps responsive by adjusting the size and positioning of different controls in relative terms to screen size using hard-coded values. However, this process must be repeated for every individual control within the app, of which there could be hundreds, making it tedious and time-consuming.
What Are Model-Driven Applications?
Compared to canvas apps, model-driven apps in PowerApps are based on underlying data — specifically, the data stored in Common Data Service (CDS). CDS is a secure, cloud-based storage space that organizations can use to store business application data. According to Microsoft:
“Data within Common Data Service is stored within a set of entities. An entity is a set of records used to store data, similar to how a table stores data within a database. Common Data Service includes a base set of standard entities that cover typical scenarios, but you can also create custom entities specific to your organization and populate them with data using Power Query. App makers can then use PowerApps to build rich applications using this data.”
All model-driven apps are integrated into CDS. In fact, most Microsoft apps are integrated into CDS because most Microsoft apps, including the entire Dynamics 365 (D365) platform, are model-driven apps.
Since model-driven apps take a data-first approach, they are far more rigid in design than canvas apps; most user interface components are premade and pre-selected based on the data you choose, though there is still room to edit individual components. However, this data-first approach also means that model-driven apps are more sophisticated than canvas apps, which makes them better suited for apps that require complex business logic. Model-driven apps are also responsive by design and will render themselves according to whatever device you use.
Canvas vs. Model-Driven Apps
As you might imagine, canvas apps and model-driven apps are best suited for different use cases.
Canvas apps are ideal for building task-based or role-based applications. For example, you might have a team within your customer service department that’s strictly responsible for creating support tickets. Since this team is focused on one task, it likely doesn’t require all of the functionality of the full Microsoft suite — in fact, having access to that many capabilities could be overwhelming and could impede the team from doing what it needs to. In this case, it would be better to build a canvas app dedicated specifically to the task of generating tickets.
Model-driven apps, on the other hand, are better for creating end-to-end solutions. For example, after a customer service support ticket has been created, it must be routed, addressed, updated, marked as complete, and so on. There will likely be quite a few teams, roles, and processes involved in this complete cycle of case resolution, which would require a model-driven app.
As you can see, depending on the need, it might make sense to use canvas apps and model-driven apps at different stages of a cycle, making it less canvas vs. model-driven apps and more canvas and model-driven apps. To that end, there’s also a third kind of app within PowerApps known as an embedded app, which you can see in the images below. An embedded app is a canvas app that sits inside a model-driven app, similar to how you might embed Power BI for reporting within another Microsoft application.
Think Outside the Box With Hitachi Solutions
PowerApps is a relatively recent innovation, and Microsoft users are still getting used to the concept of building canvas and model-driven apps. Here at Hitachi Solutions, we’re dedicated to helping our clients to think outside the box and beyond the traditional set of prepackaged Dynamics 365 applications. We can empower you to turn your resources and business knowledge into something brilliant by showing you how to build custom applications tailored to your specific business processes.
To see Hitachi Solutions and Microsoft PowerApps in action, look no further than this recent project we worked on with one of our banking industry clients: A credit union approached us in the interest of building an application specifically for its tellers. These tellers follow a very streamlined process for handling face-to-face customer interactions, one that includes:
- Identifying who the customer is and how many accounts they have
- Verifying the customer’s identity
- Handling customer service inquiries
- Reviewing the customer’s transaction and service histories
- Updating customer information
- Identifying upselling and cross-selling opportunities
- And so on
This particular client already had access to the full D365 platform but, given the specificity of their role, was concerned about its tellers getting lost within the full range of applications. We worked with this client to help build a canvas app specifically for its tellers — one that enables them to access all of the functionality they need within a single application and to follow a guided process, while still being able to access the capabilities of the model-driven app when necessary. This also enables the credit union to deliver a consistent customer experience at each of its branches, thereby improving customer satisfaction.
To learn more about what Hitachi Solutions can do for you, contact us today to get started.