{"id":12817,"date":"2023-02-07T12:57:33","date_gmt":"2023-02-07T12:57:33","guid":{"rendered":"https:\/\/afridigitals.com\/blog\/?p=12817"},"modified":"2023-12-28T15:54:29","modified_gmt":"2023-12-28T15:54:29","slug":"the-diifrence-between-canvas-apps-vs-model-driven-apps","status":"publish","type":"post","link":"https:\/\/afridigitals.com\/blog\/the-diifrence-between-canvas-apps-vs-model-driven-apps\/","title":{"rendered":"the diifrence between Canvas Apps Vs Model-Driven Apps"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">What Are PowerApps?<\/h2>\n\n\n\n<p>Put simply, Microsoft PowerApps were developed to democratise software development, reducing both the difficulty and complexity of launching a new application for use by an organisation.<\/p>\n\n\n\n<p>Using PowerApp\u2019s a citizen developer (someone with little or no coding\/design experience) can rapidly create a custom app for use by their organisation, either internally or externally.<\/p>\n\n\n\n<p>PowerApps do this by using a&nbsp;low code\/no code&nbsp;approach that lets users create apps using a simple click, drag and drop system.<\/p>\n\n\n\n<p>Low code\/No code development has been massively gaining in popularity over the last few years and the COVID pandemic has only seen that interest increase, with many organisations needing to pivot to a new way of working, thus speeding up their digital transformation plans ahead of original schedules.<\/p>\n\n\n\n<p>Using PowerApps, a citizen developer can create either a canvas app or a model driven app\u2026 which obviously leads on nicely to the next questions, being\u2026 what are they, which is best and when should you use them?<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><\/h2>\n\n\n\n<h2 class=\"wp-block-heading\">What Are Model-Driven Apps?<\/h2>\n\n\n\n<p>Again, putting it as simply as we can, Model-Driven Apps aren\u2019t \u2018stand-alone\u2019.<\/p>\n\n\n\n<p>They\u2019re based on sets of underlying data, or being more precise, underlying data held in the Microsoft Dataverse (apologies for throwing more jargon at you! The Dataverse, what used to be the Common Data Model, is a cloud-based storage environment that organisations can use to store their business application data safely and securely).<\/p>\n\n\n\n<p>All Model-Driven Apps will be integrated in some way with the Microsoft Dataverse. In fact, most Microsoft Apps are Model Driven Apps themselves as, on some level, they\u2019ll be integrated with the Dataverse (up to and including the entire&nbsp;Dynamics 365 platform).<\/p>\n\n\n\n<p>That level of integration with the Dataverse means Model-Driven Apps can be described as \u2018data-first\u2019.<\/p>\n\n\n\n<p>They\u2019re far more rigid in their functionality than a Canvas App will be, with the UI (User Interface) components likely being selected from pre-made choices (although some customisation is still possible). That premade element makes Model-Driven Apps incredibly simple and easy to design and build, with absolutely no coding ability needed.<\/p>\n\n\n\n<p>The flip side to all that rigidity however is that a Model-Driven App will always be a lot more sophisticated than a Canvas App, making them much better solutions for anything requiring complex busines logic to function efficiently.<\/p>\n\n\n\n<p>The other plus to those premade User Interfaces is that they\u2019re Responsive-by-Design, so will always look great, no matter what kind of device they\u2019re accessed from.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><\/h2>\n\n\n\n<h2 class=\"wp-block-heading\">What Are Canvas-Apps?<\/h2>\n\n\n\n<p>A Canvas-App does exactly what it says on the tin\u2026 they provide you with a completely blank canvas to create with.<\/p>\n\n\n\n<p>You\u2019re not left completely on your own though, as Canvas Apps are still designed for citizen developers, so there\u2019s still a click, drag and drop format powering the interface.<\/p>\n\n\n\n<p>Once you\u2019ve got a setup you\u2019re happy with though, you can make further adjustments to a Canvas App to change the size, shape and formatting of all the disparate elements.<\/p>\n\n\n\n<p>Then, once you\u2019re happy with that, you can connect it up to either a single or multiple data source(s) using nothing more than simple excel-style formulas.<\/p>\n\n\n\n<p>And therein lies the main appeal of a Canvas App over a Model-Driven App; since there\u2019s no need to worry about how your data is structured as there is with a Model-Driven App, you get a much more intuitive design experience.<\/p>\n\n\n\n<p>Sounds complicated?<\/p>\n\n\n\n<p>Don\u2019t worry. If you can use PowerPoint and have an entry-level understanding of excel formulas, then you\u2019ll be able to whip up a Canvas App with no problems.<\/p>\n\n\n\n<p>Building a Canvas App is a lot of fun as it really lets you flex your creative side as no two Canvas Apps will ever be exactly the same, plus, as a bit of an added bonus, Canvas Apps are capable of pulling data from over two hundred unique data integration sources as an Out-of-the-Box feature, making them infinitely more flexible than a Model-Driven App could ever hope to be.<\/p>\n\n\n\n<p>The downside to that however is that Canvas Apps aren\u2019t responsive by design. The two basic layout functions are portrait and landscape but depending on the amount of customisation that\u2019s happened, some work is often required to make them fit across a range of devices by adjusting the size and positions of the various elements in relation to the screen size.<\/p>\n\n\n\n<p>To do that you\u2019ll need hard-coded values that will have to be repeated for every individual control that\u2019s been created within your app\u2026 so whilst a Canvas App is endlessly customisable, making it then responsive can be a long-winded process.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><\/h2>\n\n\n\n<h2 class=\"wp-block-heading\">When To Use A Canvas App Vs When To Use A Model-Driven App<\/h2>\n\n\n\n<p>In case you hadn\u2019t guessed already, the title of this article is a little misleading as it isn\u2019t really a case of Canvas Apps vs Model-Driven Apps or which is better.<\/p>\n\n\n\n<p>Instead, there\u2019s appropriate use cases for both; complementing rather than competing with each other.<\/p>\n\n\n\n<p>A Canvas App is perfect for creating a task\/roles-based application such as a ticket system for an IT team. As this task is focussed solely on one issue, it really doesn\u2019t require the full use of the entire Microsoft Suite\u2026 that would literally be the definition of over-engineered (or in simpler terms overkill), potentially impacting on the functionality of the app by making it too complicated.<\/p>\n\n\n\n<p>Model-Driven Apps then, are much more suited to creating a complete end-to-end solution.<\/p>\n\n\n\n<p>Going back to the IT ticket system use case, A Model-Driven App would be useful after the ticket has been created to route it to the right place with the right location address, allow it to be updated so both sides can track its progress and mark it as complete.<\/p>\n\n\n\n<p>In the above use case, it\u2019s almost certain there\u2019ll be multiple stakeholders wishing to view, update and document the ticket so for a well-rounded app capable of tracking the whole cycle, a Model-Driven app would be best suited.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>What Are PowerApps? Put simply, Microsoft PowerApps were developed to democratise software development, reducing both the difficulty and complexity of launching a new application for use by an organisation. Using PowerApp\u2019s a citizen developer (someone with little or no coding\/design experience) can rapidly create a custom app for use by their organisation, either internally or [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":13702,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[436],"tags":[],"class_list":{"0":"post-12817","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-app"},"_links":{"self":[{"href":"https:\/\/afridigitals.com\/blog\/wp-json\/wp\/v2\/posts\/12817","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/afridigitals.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/afridigitals.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/afridigitals.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/afridigitals.com\/blog\/wp-json\/wp\/v2\/comments?post=12817"}],"version-history":[{"count":2,"href":"https:\/\/afridigitals.com\/blog\/wp-json\/wp\/v2\/posts\/12817\/revisions"}],"predecessor-version":[{"id":13744,"href":"https:\/\/afridigitals.com\/blog\/wp-json\/wp\/v2\/posts\/12817\/revisions\/13744"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/afridigitals.com\/blog\/wp-json\/wp\/v2\/media\/13702"}],"wp:attachment":[{"href":"https:\/\/afridigitals.com\/blog\/wp-json\/wp\/v2\/media?parent=12817"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/afridigitals.com\/blog\/wp-json\/wp\/v2\/categories?post=12817"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/afridigitals.com\/blog\/wp-json\/wp\/v2\/tags?post=12817"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}