First choices with PowerApps
Patrick Guimonet
CEO & Founder | Microsoft 365 MVP | Enterprise Solutions Architect
PowerApps is very easy to learn and you can quickly take charge of your destiny provided you make the correct decisions on some structuring choices. Let's follow this guide and avoid nasty surprises.
A French version of this article can be found here: PowerApps à l'heure des choix
Article outline
- PowerApps and Power Platform
- PowerApps by the wizards
- 1st choice: which environment?
- 2nd choice: application type?
- 3rd choice: which storage for your data?
- 4th choice: online or on-premises?
1. PowerApps and Power Platform
PowerApps is, with Power BI and Flow, one of the three apps which altogether make the Power Platform. Microsoft is promoting it more and more as a whole. These three services provide tools to manage the "new" world where data is king and where it is the basis of any enterprise process.
- You can display and analyze data with Power BI
- You can act and modify data with PowerApps
- And you can automate with Flow.
This is not always in that order but structured logic is this one. For more details on Power Platform positioning you can have a look at this official blog post: The Microsoft Power Platform – Empowering millions of people to achieve more
So PowerApps is a development platform for mobile and web apps. It allows so-called citizen developers to reach capabilities that were once only reserved to high-end development tools.
2. PowerApps by the wizards
The easiest way to create a PowerApps app is to follow wizards, starting from the data source. We follow 4 steps:
1. We can, for example, start from a SharePoint list storing consulting interventions.
2. Next we choose "create an apps" in the PowerApps menu
3. We arrive in PowerApps studio, where the system has generated a fully functional canvas app.
These are default choices. They hide a much wider set of available configurations, options and architectural choices that are available with PowerApps. Let's explore them.
1st choice: which environment?
First, you have four tools or environments available to work in PowerApps. They have each their own roles and capabilities.
PowerApps site is the entry point to PowerApps service. This is where you will be able to create a new app and to manage existing ones.
You will also find here several templates that could give you some usages ideas and also some samples on how to code some actions in PowerApps.
- PowerApps Studio (which URL follows the following pattern <region>.create.powerapps.com where region = eu for Europe or us for United States for example) is the design and edition environnement where you can paramatrize apps and to adapt them to your specific business needs.
PowerApps Studio has three panes and a ribbon that make app creation feel like building a slide deck in PowerPoint
Source: Quick review of PowerApps Studio
- PowerApps admin center admin.powerapps.com allows to create and manage environments, user roles and DLP (Data Loss Prevention) strategies. This is where you can get a list of user licenses in the tenant.
- PowerApps mobile app is available on mobile (iOS, Android) and tablets (Windows 10). On these three platforms, it provides a runtime environment where you will be able to execute all your PowerApps apps, those you designed and coded yourself and the ones shared to you as well.
2nd choice: which type of application?
There are two main types of apps you can build with PowerApps:
- Canvas apps
- Model driven apps
Canvas apps allow you to organize freely and easily interface, by positioning controls and fields in a "pixel-perfect" user experience. The idea here is to let your creativity and your business knowledge lead the application's design. Canvas apps target lightweight apps or even disposable apps that can be designed and used in minutes.
Model-driven apps are built on top of the Common Data Services used to help build quickly forms, business rules, and processes. They are targeting heavier apps intended to be used intensively (several hours at a time).
Unlike canvas app development where the designer has complete control over app layout, with model-driven apps much of the layout is determined for you and largely designated by the components you add to the app.
Eventually, there is a third type of apps (a specific version of Canvas apps): SharePoint list customized forms. From a SharePoint list, you can use PowerApps to customize the standard SharePoint form. To do that you should call the "customize forms" menu. Then you will get access to one specific component in your PowerApps called "SharePointIntegration". This control is responsible for communicating user actions between SharePoint and PowerApps. It adds several properties like "OnNew", "OnSave" or "OnEdit" which provide ways for the app to respond when a user clicks or taps the New button, taps an item or taps the Edit all button.
3rd choice: which type of storage?
As it has been recalled in the introduction, Power Platform in general and PowerApps in particular target a world where data is king and the foundation of any business process. So choosing the correct data sources is very impacting in the process of designing an app.
Data are stored in a data source and you import them in your app by creating a connexion.
among the most usual data sources, we can find SharePoint lists and Excel spreadsheets but there are more than 200 data connectors available. PowerApps share connectors with Flow and Logic Apps (the Azure service on top of which Flow is built). One of the great strength of the platform is to provide connectors towards Microsoft world: Office 365, Azure, SQL Server, ... and towards external data sources as well: Salesforce, Dropbox, or Google Drive for example.
In PowerApps, a connector can provide data tables or actions, or both. Here is for example how a data source to a "Lessons" table can be used in PowerApps:
An action will have to be manually connected to a control to be executed:
Here is an Overview of canvas-app connectors for PowerApps.
Be aware that the choice of data sources will have an impact on licenses needed to create and execute your app. If you choose or need a Premium source (like Salesforce or Common Data Service) you will need PowerApps P1 or P2 license.
4th choice: are you data online or on premises?
PowerApps is born in the Cloud and can natively connect to Cloud data sources. However, it can connect to on-premises data sources as well. For that to happen you should configure an on-premises data gateway. This gateway is shared between several Cloud apps like all the Power Platform (Power BI, Flow, PowerApps), Azure Logic Apps and Azure Analysis Services.
At the time of writing, supported data sources by the gateway are:
- SharePoint
- SQL Server
- Oracle
- Informix
- DB2
- Filesystem
Detailed instructions on how to configure and manage the gateway are available here: Understand on-premises data gateways for canvas apps
Be aware that using on-premises data sources will have an impact on licenses needed to create and execute your app. If you choose or need a local data source, you will need PowerApps P1 or P2 license.
For all licensing information, you should have a look at:
- powerapps.microsoft.com/en-us/pricing and
- the excellent Jussi Roine explanations The comprehensive licensing guide to Microsoft Flow and PowerApps.
Let's hope these elements will allow you to design better PowerApps solving your business needs.
By the way, I will present at SharePoint Conf end of May in Las Vegas. I will speak about #Mobility #Office365 #SharePoint #OneDrive #Teams and #Kaizala. Join me and an incredible speakers line up and save $50 by using code GUIMONET.
.
Application Architect at ECG Management Consultants
5 年When will PowerApp have a file upload control for BIG files with a drop zone.? So many usages .....
Consultant technique | Power Platform - Power BI - SharePoint
5 年Interesting article for getting started with PowerApps. Thanks!
Business Automation | Processes Optimizer | Academic Lecturer | Digital Transformation 2.0 Partner | Hyperactive | Do'er | ADHD Mentor & Coach
5 年Great overview! Thanks Patrick!
??Sr. SharePoint & Office 365 Consultant???MS Solutions Architect??Azure, Docker & Kubernetes Lover???Trainer?????PhD
5 年Nice article!