PowerApps Showdown: Model-Driven vs. Canvas – How to Decide

Bala Madhusoodhanan - Oct 5 '23 - - Dev Community

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 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/)

Feature Comparisons:

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.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .