Common app patterns
Apps have common patterns that can be beneficial to you in your project.
Microsoft apps vs. partner apps vs. custom apps
A solution architect should consider using a partner app from Microsoft AppSource. The rest of this module focuses on the creation of custom apps.
The first decision that a solution architect needs to make is which type of app to start with:
- Microsoft Dynamics 365 apps
- Partner apps from AppSource
- Custom apps
Microsoft Dynamics 365 apps are model-driven apps built on Microsoft Dataverse. These apps can be used individually or in combination. Understanding the capabilities of these apps helps you decide whether to use the out-of-the-box functionality, customize the apps, or create custom apps.
A solution architect should begin by evaluating whether Microsoft Dynamics 365 apps meet the project's requirements. If not, consider Microsoft AppSource next, and finally evaluate whether to build custom apps.
App types
A model-driven app has the following features:
- Dataverse data driven
- Data relationship navigation
- Consistent UI
- Security trimming of UI
- Responsive UI
- Consistent accessibility
- User personalization
- End-user tooling (Excel, import, export, and so on)
- Back/mid office and process focused
A canvas app has the following features:
- Can use Dataverse data but not limited to it
- Visual presentation of info
- Custom UI
- Nonresponsive UI (can be made responsive through configuration)
- Device integration
- Basic offline support
- Embedding in SharePoint or Microsoft Teams
- Task-focused use cases
Power Pages has the following features:
- Dataverse data driven
- Web application framework
- Uses model-driven forms and views to display Dataverse data
- Can be customized with standard web technologies (HTML, JavaScript, CSS, Liquid)
- Designed for external user access
Common app patterns
Most solutions use multiple app types. Common usage patterns include:
- Model-driven - Used for administering data and business processes
- Canvas - Designed for internal end users
- Power Pages - Serve as portals for external users
Canvas apps are also useful for addressing specialized use cases that aren't feasible with other app types.
Apps in Microsoft Teams
Canvas and model-driven apps can be added to Microsoft Teams and accessed from a tab in a channel. This module includes guidance on how to create apps in Microsoft Teams.
Embed apps
A canvas app can be embedded in a model-driven app form. This enables scenarios that might otherwise require custom code, such as:
- Displaying custom visuals
- Accessing data outside of Dataverse through connectors
- Performing complex operations on Dataverse data
Limitations include:
- Embedded canvas apps are available only during edit—not during creation of new rows
- The Save action of the model-driven form doesn't simultaneously save embedded app data
Roadmap
Currently, canvas and model-driven apps have separate designers and distinct feature sets. Integration between them is limited, as shown in the following diagram.
Microsoft plans to unify these app types under Microsoft Power Apps. In the future, apps support screens composed of both canvas and model-driven components, enabling a single, integrated development experience.