Model-driven app design is an approach that focuses on adding components such as forms, views, charts, and dashboards to tables using an app designer tool. Additionally, relationships connect tables together in a way that permits navigation between them and ensures that data isn't repeated unnecessarily.
Using the app designer with little or no code, you can build apps that are simple or complex.
Process driven apps
Model-driven apps are especially well suited to process driven apps that are data dense and make it easy for users to move between related records. For example, if you're building an app to manage a complex process, such as onboarding new employees, managing a sales process, or member relationships in an organization such as a bank, a model-driven app is a great choice.
Data modeling
Although we call them model-driven apps, it's often easier to think of them as data model driven apps. This is because, without a data model housed within Microsoft Dataverse, you can't create a model-driven app.
User experience
From the user's perspective, all model-driven apps offer a similar experience, which is both accessible to many users and to the device used. The experience is similar to the diagram shown here.
In this example, the app contains three tables (challenges, ideas, team projects), one dashboard, and multiple charts and views. Users navigate between the tables using the left pane or via the dashboard.
Benefits of the model-driven approach
Unlike canvas app development where the designer has complete control over app layout, with model-driven apps much of the user interface is determined for you and is largely designated by the components you add to the app.
There are some notable advantages to this method of application development.
Once the data model and relationships are created, the build process is relatively rapid due to rich component-focused no-code designers.
Apps have a similar user interface across various devices from desktop to mobile.
The user experience is consistent across all model-driven apps. Once a user is confident with one model-driven app, later apps are easier to adopt within an organization.
Migrating apps between development, test, and production environments is relatively straightforward by using solutions.
In canvas apps, the app maker has total control over the app layout. With model-driven apps, much of the layout is determined by the components you add. The emphasis is more on quickly viewing your business data and making decisions instead of on intricate app design.
Category
Model-driven apps
Canvas apps
Data platform
Dataverse only
Dataverse + many others using connectors
Design experience
No-code component focused design
Manipulation of control properties using Power Fx expressions
UI control
Limited, predominantly customization
Full control
App consistency
High – differs predominantly based on the tables and views chosen
Often low, given the significant control the designers have of the user experience
Migration between environments
Simple
Potentially complex given that the datasources might need to be updated
Speed of creation
Rapid
Relative to the complexity of the design
Responsive
Automatically responsive
Only responsive if designed in this way
Navigation through relationships
Automatic, provided relationships exist
Only where designed and applied using Power Fx formulas
At a fundamental level, model-driven app making consists of the following areas.
Modeling business data
Defining business processes
Composing the app
Configuring security roles
Sharing your app
A large part of the time spent building the app is dedicated to modeling the business data and in some case to defining the business processes. Customizing security roles depend on the needs of the organization.
Documentation has been developed that helps users successfully navigate around and interact with model-driven apps in a way that helps make them more productive.
Solutions are used to act as wrappers for all the elements required to deliver a product for use within a business.
As a minimum, a model-driven app requires a single table, a site map, plus the app itself. However, model-driven apps generally include a considerable amount more, and this includes canvas apps, security roles, environment variables, and much more.
Solutions offer the means by which these objects can be migrated between environments. Consequently, solutions are an important part of any application lifecycle management strategy.
When you create a model-driven app, you should create it within a solution.
Privileges for the maker to work as a system customizer or environment maker in the environment where the model-driven app is created. More information: About predefined security roles
A table. (There are many standard tables, including account, which exist by default.)
One table column. (Every table has at least one column, and many system columns.)
One table view, to view records. (There are a number by default.)
One table form, to enter data. (There will be one by default.)
Using the app designer, a model-driven app is created by adding a page, which adds navigation to the app, and is typically based on a table or custom page.
If you're new to Power Apps, and want to learn about how to convert your ideas into a fully working solution using Power Apps, start with Planning a Power Apps project.
Model-driven app design is an approach that focuses on quickly adding components to your apps. These components include dashboards, forms, views, and charts. With little to no code, you can make apps that are simple or complex. Unlike in canvas app development, where the designer has total control over the app layout, much of the layout in model-driven apps is determined by the components you add. In other words, the emphasis is more on quickly viewing your business data and making decisions than on intrica
Demonstrate the business value and product capabilities of Microsoft Power Platform, such as Power Apps, data connections with Dataverse, and Power Automate.