Comparison Power Canvas vs Model driven apps
Comparison Matrix Power Canvas vs Model driven vs SharePoint vs Shareflex
Please check out this extensive comparison between Power Canvas vs Model-Driven (and SharePoint and Shareflex).
|Plain SharePoint (with 1 power canvas form)||Power Canvas app||Model drive app Dataverse||Shareflex|
|Coding style||No code||Low code||No code||High code|
|Combine different forms in 1 app||Not supported||Yes no problem, but needs coding effort||Yes, out of the box||Yes, out of the box|
|Custom coding||Not supported||Yes only formula language||Not really, only formula language in a few places||Yes, a lot|
|Custom development possibilities||Low||Average||Very limited||Yes, a lot|
|Download or restore older versions||Supported via SPO view||Not out of the box, must be coded lot of effort||Not possible||Yes, out of the box|
|Drag drop multiple files||Yes||No||No||Yes|
|External access (anonymous users)||Supported||No||No||Supported|
|Field level security||No||No||Yes||Yes|
|Item level security||Yes||Not really||Yes||Yes|
|Outlook email integration||Yes||Require to write code||Yes||Yes|
|Pixel perfect UI design||No||Yes||No||No|
|Right click menu||Yes||No||Yes||Yes|
|Search||Yes||No, require to build your own UI||Yes, out of the box||Yes, out of the box|
|Speed of development||Not applicable||Poor||Fast||Slow|
|Support Power Automate flows||Yes||Yes||Yes||Yes|
|UI control||Limited||Full UI control||Very limited||Limited|
|UI speed||Fast||Not so fast||Fast||Fast|
|Use documents (files)||Yes, using SPO library||Limited||Limited, SPO library can be utilized||Yes, out of the box|
|User experience||Mediate||Simple||Great||High end|
|Utilized to create company critical apps||No||Not advisable||Yes||Yes|
|User Experience||Limited||Not good||Great||Great|
|Version history report||Supported via SPO view||Not out of the box, must be coded lot of effort||Supported via audit||Yes, out of the box|
|View column sorting||Yes||Not out of the box, must be coded lot of effort||Yes||Yes|
|View column search||No||Not out of the box, must be coded lot of effort||Yes||Yes|
|Workflows||Only via Power Flows||Not out of the box, must be coded lot of effort||Yes||Yes|
Canvas Power apps
What are Canvas Applications?
Canvas applications, or canvas apps for short, are a versatile feature in Power Apps that provide you with a blank canvas where you can design a user interface by dragging and dropping components in any arrangement you like. You can adjust the size and formatting of these components to create your desired design. Once your design is ready, you can connect it to one or more data sources using simple, Excel-style formulas.
Limitations of Canvas Applications?
Power Canvas apps can indeed offer more complexity compared to SharePoint Online’s out-of-the-box approach. You can combine various forms and records on the same screen, but it does require quite a bit of effort since Power Canvas apps lack large building blocks to simplify the process. The formula language is available for programming, but it can take time to learn.
Unfortunately, you can’t use SharePoint Online views as a starting point. So, you need to create everything, from the user interface to views, forms, and buttons in the Power App. One significant drawback is the absence of building blocks for features like version history logs or the ability to restore previous versions of documents or list items. The end-user experience of a Power App is, therefore, very limited to viewing and creating records. There are no right-click menus present to ease the work. Searching is very limited, and there is no view column sorting. Drag and drop of multiple files is not supported.
To summarize, it’s great for making simple apps with a very basic interface. Our advice is not to try to develop a sublime user experience or run company critical apps in Power Canvas apps.
Model-driven Power app
What are Model-driven apps?
Model-driven applications in Power Apps differ from canvas apps in that they are closely tied to the underlying data stored in Dataverse. The Dataverse is a secure, cloud-based repository where organizations can store their business application data. In the words of Microsoft:
“Data within Dataverse is stored within a set of entities. An entity is a set of records used to store data, similar to how a table stores data within a database. The Dataverse service includes a base set of standard entities that cover typical scenarios, but you can also create custom entities specific to your organization and populate them with data using Power Query. App makers can then use Power Apps to build rich applications using this data.”
All model-driven apps are integrated into Dataverse, and many Microsoft apps, including the Dynamics 365 platform, follow the model-driven approach.
Model-driven apps focus on the data structure, which makes them more rigid in design compared to canvas apps. Most user interface components are predefined and based on the selected data, although you still have some room for individual component customization. This data-centric approach also makes model-driven apps more suitable for applications requiring complex business logic. Moreover, model-driven apps are designed to be responsive and adapt to various device types, enhancing their versatility.
In summary, model-driven applications are data-centric, offering greater sophistication and flexibility for complex business applications, and they are seamlessly integrated with Dataverse.
When building a Power Model-Driven app, the majority of your time, approximately 99%, will be dedicated to working within the Dataverse (creating tables and fields, forms, views and table relations). When the Dataverse work is done creating a Power Model-Driven app is a straightforward simple process. It differs from Canvas Power Apps where you have more flexibility to fine-tune the user interface. In the case of Model-Driven Power Apps, the entire app is constructed within the Dataverse.
Limitations of Model-driven apps
Model-driven apps do not have the ability to interact with data sources other than the Dataverse database.
Because your UI components depend on data, a model-driven app’s design approach is often more strict. There is, however, still some room for personalization. Please check out this post about code components in Model-driven apps.
Model-driven apps do not provide the capability to restore older versions of records.
Model-driven apps can store files in Dataverse, they lack the SharePoint document library functionalities like sharing and online editing. It is feasible to link documents from a SharePoint online library to a model-driven app in Dataverse. However, this approach results in the files not residing within Dataverse, which necessitates managing permissions synchronization between Dataverse and the SharePoint library. In the end, connecting a model-driven app to both Dataverse and SharePoint may not be an ideal solution.
When it comes to SharePoint Online, it primarily offers two fundamental components: lists and libraries. Lists serve as a valuable tool for creating records with multiple fields, making it ideal for storing non-document information like tasks, events, properties, clients, and projects.
However, it’s important to note that using lists for storing files is not recommended. This is because lists come with limitations when it comes to file management. You won’t have access to features such as document / file version history (including the ability to restore older file versions), co-editing functionality, and full-text search content retrieval for files. For more details on these limitations, please refer to this post. If you’re not concerned about the limitations mentioned earlier, using a list for file storage can work well.
The primary function of a SharePoint library is to efficiently manage files, whether they’re organized in folders or document sets. Libraries offer robust file features such as version history, the ability to restore older versions, and more. You can also add metadata fields to files in the library for better organization.
Document sets, on the other hand, provide a way to group files under specific metadata values, but they may not offer the most user-friendly experience. To be honest, we’re not big fans of using library document sets.
One significant advantage of utilizing SharePoint Online views within your list or library is the wide range of functions available to users. This includes features like sharing, version history, permissions management, and much more.
In this configuration, you have the option to employ a Power Canvas app form for each list or library, which can improve the user interface. However, when it comes to using Power Apps’ Canvas forms, there’s a limitation – you can’t replace the default SharePoint buttons (like ‘Edit’ and ‘Save’) with Power Canvas buttons. This can result in a cluttered button interface when you’re combining multiple lists or libraries in the Canvas app, all initiated from the standard SharePoint lists.
In summary, using one Canvas form per list works fine, but it’s advisable not to attempt to combine multiple lists and forms in this manner.
Shareflex is a business application high code development platform built on top of SharePoint Online. Its main advantage is to provide an exceptional high-end rich user interface for business important applications developed within Shareflex, such as Contract management solutions or Document management tools.
Shareflex provides various out-of-the-box components for enhanced functionality.
- Enhanced Version History Control: Shareflex provides improved version control for SharePoint lists and libraries, allowing users to download or restore older versions of content.
- Improved SharePoint Views: Shareflex enhances SharePoint list views with better filtering options for improved data presentation.
- Combination of Content: Shareflex can combine multiple SharePoint Online lists and library content into a unified main form, streamlining data access.
- Document and List Item Preview: Users can preview both documents and list items within the application.
- Workflow Task Presentation: Shareflex offers a streamlined workflow task presentation for approvers. Workflow approval fields are located on the left, while the right pane displays the record relevant to the workflow approval.
- Automated deployment: Shareflex can deploy entire Shareflex applications in SharePoint Online using scripts, fully automated.
- Rich Functionality with Right-Click Menus: Shareflex features rich right-click menus throughout the application, enabling users to perform tasks quickly and efficiently.
Shareflex simplifies app development by offering these components that can be seamlessly integrated into the application. Developers no longer need to be concerned about presenting version history or coding a document library part from scratch. In summary, Shareflex provides a wide array of highly functional building blocks that greatly facilitate app development.
Limitations of Shareflex
- Shareflex licenses come at a premium cost.
- Mastering Shareflex development can be challenging (no YouTube guides available).
- Limited number of Shareflex developers available.
- Shareflex only uses SharePoint Online as data-source.
Power Automate flows
Power Automate flows are excellent, and they can be utilized across all four platforms, so there is no need to differentiate between them.