If you’re familiar with the Microsoft ecosystem, you may have heard of the terms PowerApp, model-driven app, and Canvas app. This article is to provide answers on differences between the two, and why you may want to use one over the other.
An overview of PowerApps
The goal of PowerApps is to reduce the complexity and difficulty of launching targeted business applications. Applications are built through the use of a graphical, drag-and-drop interface. Prior coding knowledge is not a requirement (although, for Canvas apps, it can be helpful to have).
Common Data Service
Before we dive into differences between model-driven apps and Canvas apps, it’s helpful to understand the Common Data Service (or CDS). CDS is the basis for both types of PowerApps. As an example, the Microsoft Dynamics 365 platform is built on top of CDS and is a model-driven app. More on that later. CDS is the underlying data structure of entities and fields that drive the data returned, much like a table.
CDS includes a standard set of entities to cover typical needs. Examples of these would be accounts, contacts, cases, leads, etc. Custom entities can be created to address specific needs for data storage not covered by default entities. There is (virtually) no limit to how many custom entities you can create – it is currently at 300, but that number can be adjusted upward on request.
With the Common Data Service out of the way, let’s discuss what a model-driven app is. Like we mentioned earlier, Dynamics 365 is a model-driven app.
Model-driven apps are rendered by the Unified Client Interface (UCI) and include dashboards, forms, views, charts, and business processes. UCI is responsive and dynamically adjusts to provide exceptional experiences on both mobile and desktop devices. The overall structure and user interface is predefined, providing continuity between model-driven apps and Dynamics 365. Creating a model-driven app is extremely simple and requires no coding experience.
A canvas app is designed using a drag-and-drop interface and is an application targeted for a specific use. It’s like a blank page – a canvas, as its name implies. As an example, Dynamic Consultants Group has developed an Expense Tracker application for our internal operations. This application is designed to make it easy to submit expense reports and expenses. The Expense Tracker app is a great illustration of how an organization can use Canvas apps to meet a specific business need.
Canvas apps can be used on any device, in either landscape or portrait (fitted to a mobile device screen) mode. We think they are best deployed on mobile devices through the Microsoft Power Apps application. Microsoft Power Apps is available on the Apple App Store and Google Play Store. Applications your organization builds can be deployed through this interface and downloaded to local devices. The deployment process is smooth, and users are notified when updates are available. When implemented with this method, a Canvas app looks a lot like native apps you would use on your mobile devices currently. In addition, Canvas apps can be embedded into model-driven app interfaces as needed. As an example, into a Dynamics 365 form.
Are there any specialized business requirements your organization has that would be suited to a dedicated interface? As an example, field workers who perform routine tasks and do not need full access to Dynamics 365.
A canvas app is an excellent answer in these scenarios. As far as model-driven apps, Dynamics 365 is the leading option for businesses small and large, and it can be customized to meet the unique needs of your organization.
Hopefully, these examples have sparked some ideas for how PowerApps can meet your organization’s needs. Dynamic Consultants Group has extensive experience with model-driven apps (Dynamics 365), as well as custom Canvas apps. If you’re interested in an application built specifically for your needs, or in deploying Dynamics 365, contact us today.
Tony Pimpo is a CRM consultant with a background across the consulting, marketing and online media industries, aiming to facilitate successful relationships between customers and end-users. He has experience managing and contributing to successful teams and D365 projects, along with gathering, understanding and documenting business requirements.