There are many different ways that you can create a new app in PowerApps. When you decide that you need an app you might be making a choice that you later on may regret.
For each of these options you also need to consider which devices you are going to use your app on and how do you want users to find your app. Although, I always separate my data and presentation layer very strongly and I don’t really mind where you store your data. For PowerApps it might matter where your data is located as different options will become available.
Imagine that your data is stored within SharePoint, you will now have a few additional options available within the SharePoint lists to create apps in PowerApps. But what if you have Document Libraries that store documents with metadata holding the data, now you suddenly don’t have the PowerApps options available (yet).
To get started with the PowerApps options available to you I will have a look at:
- Customising list edit forms
- Create an App from a list
- PowerApps -> Apps -> Create an app -> Canvas
- PowerApps -> Apps -> Create an app -> Model-driven
- Import a package
- Powerapps -> Create – Canvas app from blank
Powerapps -> Create – Model-driven app from blank Powerapps -> Create – Start from data
- PowerApps -> Create – Start from … any template.
- Solutions -> Add an App
Customising list edit forms
Customising list edit forms is the first option to look at. Users with the right permissions on a list can find this options and are therefore able to create. All they have to do is click the Customize forms in option in the list menu.
This option gets the user to an app that is already connected to the list. The app will be a copy of the existing out of the box form.
Also note the SharePoint Integration element on the left.
This is where you can control the events that happen when someone hits the form menu options like Save, New and Edit.
To publish the app simply click on the Back to SharePoint and PowerApps will prompt you to publish the app.
There is something else that is important to notice form these list apps that isn’t immediately visible in the App Settings. There is no app name or icon that can be changed, but more importantly the options to sizing the screen are different.
Although Custom sizes are possible you will need to be careful here, making the form to wide might result ion issues like shown below. I would stick to the large and small options that are offered as standard. I set the background of my form to orange to make the issue clearer.
If your organisations likes to use SharePoint lists then this kind of app may work for you however I tend to ‘hide’ my lists away form users as I prefer them to use apps on pages only.
Create an App from a list
To create an app from a list will create an app that gives you multiple screens for the list where you created the app from.
This can of course be very helpful, if you want to create you basic app that needs to list data and give the user the option to edit items or view item, but you might as well use SharePoint lists themselves instead. As a learning exercise this option to create an app can of course be good,but why would you create an app that can do less than out of the box SharePoint lists?
The answer is easy to find in the App settings screen.
The app that is created is a mobile app. So with a few clicks you could make it easy for users to edit data in a list in SharePoint from their mobile devices. Still personally I would prefer to give my users a custom app that offers the functionality that they need rather than the functionality that is easy to create.
PowerApps -> Apps -> Create an app -> Canvas
To create a simple canvas app that you can use in for example SharePoint is probably my favourite option.
This now gives me the option to either select my data source or a template (including no template)
PowerApps -> Apps -> Create an app -> Model-driven
The Model driven app is a whole different kind of apps.
Once you have supplied to details in the above form PowerApps will create the base app for you. These apps are very different form the apps that we have seen so far.
So far we have focused on canvas apps that connect into SharePoint. Model driven Apps are based on Dynamics 365 (aka Dynamics CRM). When you create an app on for example the Accounts entity, you could create something like this. Although a lot is possible the Model driven apps don’t give you the flexibility that Canvas apps do give you. To implement business processes however Model Drive Apps can help you get started very quickly with these Dynamics based apps..
Import a package
I can be very short about the Import a package option. If there is an export then you would expect to see an import app option too.
Powerapps -> Create – Canvas app from blank
When Creating a new canvas app from blank via the Create menu, the experience is slightly different from the earlier mentioned create canvas app.
A dialogue asks you what to call the app and what kind of device you are planning to use.
Although Microsoft is pushing hard for us to use their templates, I prefer to start from an empty screen. It is a bit like writing blog posts. Would you expect me to copy my previous post before writing about something new? Or even worse, should I copy someone else’s work before writing my own posts?
Powerapps -> Create – Model-driven app from blank
This option is exactly the same as the above mentioned Model Driven App.
Powerapps -> Create – Start from data
After you select the start from data template and you clicked on the Create button in the dialogue that sins’t really adding anything …
You get to the same screen as earlier
It feels a bit like the PowerApps interface could do with removing some of the options.
PowerApps -> Create – Start from … any template
This is one of the favourites of Microsoft.
More and more templates are made available all the time. I quite like to use these templates as learning material. I wouldn’t use them as a base for my application though.
Solutions -> Add an App
The solutions framework is something that was inherited form Dynamics CRM. This is a great way to make your apps deployable. By adding your apps and other elements of your solution to a single package it will help you manage your apps better. The apps are the same as described in the above examples, however with solution you can protect them like Dynamics developers have been protecting their solutions for years.
It also helps you bundle your flows, entities and apps all together in a single package. Although, not everybody will immediately see the benefit from packaging up the solutions, if you are serious about your app development you should really consider looking at solutions. Managing your apps with solutions and moving the apps from Dev to Test to Production is something that should be considered.