What is the difference between a model-driven app and a canvas app?
This past weekend, I was giving a presentation to Dynamics 365 system administrators and developers about how to make a model-driven app in PowerApps. I gave a very similar presentation at User Group Summit in 2019. In both sessions, the questions were mostly around the differences between model-driven apps and canvas apps. I consider myself an expert on model-driven apps. I build them often, for internal use at Reenhanced and more often for our many customers. I am not an expert on canvas apps. I default to my business partner, Nick Hance, to field those questions, since he is an expert on building them. He has experience building highly valuable canvas apps for customers and for himself to improve his own life (like here where he builds a canvas app to count daily pushups done for a challenge we are both doing!).
Nick and I thought it would be give a definitive answer to that one question that we so often hear: what is the difference between a model-driven app and a canvas app.
A model-driven app is build on top of a data model (Dynamics 365, CDS, etc). From this data model, you can use a simple drag-and-drop interface to specify what is displayed to users in your App. Here’s a simple way to think of this: Dynamics 365 is your engine for a model-driven app. You will use Dynamics 365 components to build it. It looks and feels just like Dynamics 365. You’ll add on Dynamics 365 views, forms, charts, dashboards and reports. Use model-driven apps to streamline the user experience of Dynamics 365 and increase user adoption in your organization.
With your data stored in Common Data Service (CDS) as a database, a model-driven app provides Create, Review, Update, and Delete (CRUD) abilities on that CDS data. The model-driven app is a layer on top of your data to control how users see, update, and delete that data.
I’ve written a 6-part series on this blog about model-driven apps and how to build them. If you want to learn more, check out the first article here.
Canvas apps are not necessarily related to Model-Driven apps. They provide a PowerPoint-type interface where administrators can build an interactive experience connected to a variety of data sources. Canvas apps offer a much wider scope in capability than model-driven apps and allow for rapid prototyping and deployment of custom applications across device types.
If you can build a PowerPoint to demonstrate your application, you can likely build this experience using a Canvas app.
In general terms, when you think of a simple idea for an app, you build this using a drag and drop interface in Canvas apps. Canvas apps can completely replace the need for custom development when the application workflow is relatively simple.
Model-driven apps are well suited for a Dynamics 365 System administrator. The layout and components feel familiar to what you’re already using to manage your Dynamics 365 environment.
Canvas-apps require a more technical approach but offer a much wider set of capabilities. Once administration of Canvas apps are learned, an administrator’s capabilities are near limitless.
Do you need help building an App for your organization? Do you have a great idea and need some help figuring out the best way to approach it? Feel free to reach out to reenhanced! Fill out our Contact Form with details about what you’re working on, or email us directly at email@example.com and firstname.lastname@example.org.