Model Driven vs. Canvas Power App App Major Differences

Introduction 

 
Hi guys, let’s explore the differences between the two types of Power App Apps. It's important that we understand them in detail before creating a PowerApp.

A common point of confusion when creating PowerApps is the difference between the two different types of apps.

When you go to a list in SharePoint, and click the PowerApps menu and choose to customize forms, you are creating a customized list PowerApp. The same thing can be done from list settings –> Form Options.

When you create a PowerApps in any other way, such as going to web.powerapps.com and clicking create an app or make this app, or even if you go to the SharePoint list and click PowerApps –> Create an app… all of these other ways will create a standalone app.

Once you’ve created an app using one of these two methods, there is not an easy way to switch it to the other type of app. So, it is very important that you choose the correct kind of app right kind before getting started.

Customized list forms:

Did you go to a SharePoint list and click PowerApps -> Customize forms? If so, you are using a customized list form, and not a standalone app.

Permissions:

In order to control who can use the app and edit the app, it’s simply a matter of using SharePoint permissions. People who have Edit permission will be able to design/customize the PowerApp, and people who have Contribute permission will only be able to use the PowerApp, which entails filling out the form as an end-user. Note that by default on your SharePoint site, all members of the site have EDIT permission on the whole site. You may want to change this to Contribute, at least for any list where you don’t want them designing the app.

End-user interaction:

To use this app, it is simply a matter of going to the list and adding or editing items in the SharePoint list. This PowerApps is the list’s default form. If you don’t want users going to the list or seeing the list, there is no reason to create this type of app.

Mobile:

If the PowerApp has been embedded on a page on your site, using the PowerApps web part, end users can go to the SharePoint mobile app, and go to that page to use the customized form. These types of PowerApps will *not* be listed in the PowerApps mobile app.
* 3/31/2019 Update: Apparently it does not work in the SharePoint app anymore.

Designing the app:

You can only design the app by going to the SharePoint list and customizing it from there. This app will not be listed along with your standalone apps at web.powerapps.com.

Backup / Export of app:

This is not possible with this type of app.

Versioning:

Click File –> Save, then click See all Versions

QUICK TIP:

If you would like to get the App ID which you may need for using this app in the PowerApp web part, from the screen, click the Details tab, and check out App ID.

Standalone Apps

Permissions:

You have two options for the type of roles you can give to users while using Share Option.

User – Allows them to use the app. This is what your end-users need to access your app even if you embed it on a SharePoint page
Co-owner – Allows them to edit and design the app and publish changes to the app. This is ideal for any fellow developers that need to help you build the app.

When you first add someone, they are “User”, then when you check this checkbox, it makes them a co-owner. Optionally send them an email, too.

End-User Interaction:

Some ways that end users can get to the app, to use it:

Open the PowerApps mobile app on their device. You can even pin your favorite apps to your home screen.

Go to web.powerapps.com, and peruse the list of apps, and open any app they need to use. Click the app launcher (waffle) menu at the top left in Office 365 and click PowerApps to get to the list of apps

Provide the end users the URL to directly go to the app. This can be found on the Details screen (see image below).

Create a button on your SharePoint page, using that URL, for users to go directly to your app.

Use the PowerApps web part to embed your app on any page in SharePoint.

Mobile:

Install the PowerApps app from the app store, and authenticate to your Office 365 tenant, then see the list of apps that have been shared with you.

Designing the app:

Go to web.powerapps.com, click the ellipsis next to your app, and click Edit. See the image below. You can only edit the apps where you have either created them or have been given the Co-owner role.

Backup / Export of app:

Go to web.powerapps.com, and click the Export package button. See the image below. Give it a name, and click Export. It spits out a zip file. Then, go to another environment or tenant, click Import package, and upload that zip file.

Versioning:

In your list of apps at web.powerapps.com, click the Details button on any app.

Then go to the Versions tab. You can find the following tabs like Versions, Connections, Flows, Analytics(Preview) with their corresponding Columns values like Version, Modified, Modified By, PowerApps release, Published, etc.

Here is a quick table, summarizing these points:

Features Customized list form [Model-Driven Apps] Standalone app [Canvas Apps]
Permissions/Share Options SharePoint permissions on the list User or Co-owner
Templates Default Modern List Template only available which can be further customized Few dozen pre-built canvas app templates available
End-user interaction On the list from the list of PowerApps, or using a direct link
Mobile In the SharePoint app, if embedded as a web part In the PowerApps app
Designing From the list, customize list form at web.powerapps.com
Export Can’t be done at web.powerapps.com
Versioning save, then see all versions from the app’s details screen, web.powerapps.com
Data Focus Focused on data Focused on the user interface
Structure Input data to define structural components Drag and drop components onto a blank canvas
Data Sources Pulls data from Common Data Service(CDS) Can pull data from over 200 data integration sources out of the box
Responsiveness Responsive by design Not responsive by design
Business Needs Best suited for creating end-to-end solutions Best suited for task-based or role-based applications

Thanks for reading, I hope this was helpful to you!