PowerApps Showdown: Model-Driven vs. Canvas – How to Decide
Tags: powerapps, powerfuldevs, design
Published: 2023-10-05 10:04:19

**Intro**:
Have you ever found yourself at a crossroads when it comes to selecting the right framework for building PowerApps? Was lucky to hear out a session at [MPPC 2023](https://powerplatformconf.com/#!/session/Canvas%20Apps%20vs%20Model%20Driven%20Apps:%20The%20Ultimate%20Showdown/5990) where two experienced professionals showed you a brief demonstration and touched on their top 3 factors that should influence your choice.

In this blog post, we're going to take the insights from that enlightening conference session and delve into the intricacies of choosing between Microsoft's PowerApps model-driven and canvas frameworks. 

**Frameworks Available**:
Microsoft offers 2 frame works for low code app development
**_Canvas Framework_**: 
Canvas apps are PC and mobile device business applications built without code. They use a PowerPoint like user interface and Excel formulas for configuration.  (https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/)
**_Model Driven App_**: Model-driven apps are essentially an app built using the Dynamics 365 framework.  (https://docs.microsoft.com/en-us/powerapps/maker/model-driven-apps/)

**<u>Feature Comparisons</u>**:

The session's structure resembled that of a boxing match, with each round showcasing different aspects of PowerApps frameworks. In the first round, both experts engaged in a speedy demo to illustrate how quickly a Power App could be developed using different framework choices. The canvas framework demonstration featured visually appealing UI elements and an impressive Mixed Reality display, even featuring the special appearance of a Chewy mascot avatar in the virtual audience.
The second round shifted the focus to process-driven workflows with a Dynamics backbone. During this phase, the discussion highlighted the customization potential of the Model-Driven App's pages to enhance the user interface experience. However, it was noted that the Model-Driven App's UI capabilities did not match the extensive UX control offered by the canvas framework.
In the final round, the spotlight was on the canvas framework's versatility, especially in terms of the numerous options it provides for data connectors and integrations.


Expanding upon the three factors discussed in the session mentioned above, the table below introduces several additional considerations that should be taken into account when deciding on a framework.


| **Feature** 	| **Canvas App** 	| **Model Driven App** 	|
|:---:	|:---:	|:---:	|
| Business   Scenario 	| More simple      (e.g. Leave Request, Avaibility, Survey, Rating, etc...) 	| More complex(e.g. Lead   management, Order processing, etc...) Dynamics 365 Unified Interface 	|
| Layout 	| Complete control      (e.g. Buttons, Photo, Audio, Icons, etc...) 	| Dynamics 365 Unified Interface   ((e.g. Views, Forms, etc...)) 	|
| Data   Source 	| CDS + Other Connectors (complete   list) 	| CDS 	|
| Data   Validation 	| CDS entity scoped business rules   + Expressions/Formulas 	| CDS entity scoped business rules   + Client script API 	|
| BPF   Support 	| No 	| Yes 	|
| Security 	| Role-driven apps 	| Role driven components 	|
| Configuration 	| More Complex 	| More Simple (Dynamics 365   Framework) 	|
| Extensibility 	| Plugin and Workflow developed   for the CDS 	| Plugin and  Workflow developed for the CDS + Client   script API Canvas Apps 	|
| Offline   Support 	| Yes 	| No 	|
| Responsive   Support 	| Yes 	| Yes 	|
| Embedding   other Apps 	| Sharepoint and Teams App 	| Canvas App 	|

**Bringing It All Together**:

In the world of PowerApps, there's no one-size-fits-all answer when it comes to choosing between the Model-Driven and Canvas frameworks. Much like the intricacies of a finely crafted watch, the selection process depends on how you envision engineering your solution.PowerApps equips us with an incredible power to swiftly build solutions that can transform businesses and streamline processes. However, this power comes with a profound responsibility resting on the shoulders of the citizen developer. It's your duty to weigh all the considerations, both those we've discussed and those unique to your specific project, and make the decision that aligns best with your goals.