The Power Platform is comprised of the Power BI, PowerApps, and Flow. Microsoft has been increasingly promoting this as a whole. These three services provide tools to manage our digital world where data is king and the basis of any enterprise process. Their applications are as follows:
- You can display and analyze data with Power BI.
- You can act and modify data with PowerApps.
- You can automate data with Flow.
For more details on Power Platform positioning, you can refer to this official blog post.
How to Build an App with Microsoft PowerApps
The simplest way to build a PowerApps app is to start from the data source. This is part one in a three-part process:
1. For this example, we’ll start from a SharePoint list that stores consulting interventions:
2. Next, we’ll select the “Create an app” option in the PowerApps menu:
3. This takes us to the PowerApps Studio where we’ll find a fully functional canvas app generated by the system:
Keep in mind that these are just the default choices. They hide a much wider set of available options, configurations, and architectural choices that PowerApps provides. Without further ado, let’s take a more in-depth look!
Step 1: Select Your PowerApps Environment
There are four tools or environments that you can work within PowerApps, and they each have their own capabilities and roles.
PowerApps Website
The website is where you’ll begin your PowerApps service journey. This is where you will be able to create a new app and to manage existing ones.
Here’s a small snapshot of some of the templates that might give you some usage ideas for the app:
PowerApps Studio
Here you’ll be able to design and adapt apps that you create to your specific business needs!
PowerApps Studio contains three panes and a ribbon that help make app creation feel similar to creating a slide deck in PowerPoint. Source: Quick review of PowerApps Studio
PowerApps Mobile App
This handy mobile app is available on both phones (iOS, Android) and tablets (Windows 10). No matter the platform, the app provides a runtime environment where you’ll be able to execute all of your PowerApps apps. This includes the ones that were shared with you as well as the ones you designed and coded yourself.
PowerApps Admin Center
Admin.powerapps.com gives you the power to create and manage environments, DLP (Data Loss Prevention) strategies and user roles. You can get a list of user licenses in the tenant.
Step 2: Select Your PowerApps Application Type
There are two main types of apps you can create with PowerApps:
- Canvas apps
- Model-driven apps
Canvas apps enable you to organize freely and easily interface by positioning controls and fields in a “pixel-perfect” user experience. The main focus here is bringing your business knowledge and creativity to the app’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 rapidly build forms, processes, and business rules. They focus on targeting heavier apps that are intended to be used intensively (multiple hours at a time).
When working with model-driven apps, a good amount of the layout is determined for you and mostly designated by the components you add to the app. By contrast, the designer has complete control over the app layout in canvas app development.
There’s also technically a “third” type of app that’s a specific version of Canvas: SharePoint list customized forms. From a SharePoint list, you can leverage PowerApps to customize the standard SharePoint form. After pulling up the “customize forms” menu, you would then get access to one specific component in your PowerApps called “SharePointIntegration.”
Need a quick primer on PowerApps? This post is pretty thorough:CLICK TO TWEET
This control is responsible for communicating user actions between PowerApps and SharePoint. It adds several properties like “OnNew,” “OnSave,” and “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.
Step 3: Select Your Storage Type
Power Platform and specifically PowerApps target a world where data is king and the foundation of any business process. Thus, choosing the correct data sources is very impactful when it comes to designing an app.
Data are stored in a data source and you import them in your app by creating a connection.
SharePoint lists and Excel spreadsheets are typically some of the most usual data sources, but there are also 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 strengths of the platform is to provide connectors towards Microsoft world: Office 365, SQL Server, Azure, etc., as well as towards external data sources like Salesforce, Dropbox, and Google Drive.
In PowerApps, a connector can provide data tables, actions, or both. Here’s for example of 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:
For more, here’s 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’ll need a PowerApps P1 or P2 license.
Step 4: Connect Your App to an Online or On-Premises Data Source
PowerApps is born in the cloud and can natively connect to cloud data sources. That said, 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 Analysis Services, and Azure Logic Apps.
At the time of writing, supported data sources by the gateway are:
- SharePoint
- Oracle
- SQL Server
- Filesystem
- DB2
- Informix
Detailed instructions on how to configure and manage the gateway are available here.
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:
- Microsoft’s PowerApps plan website and
- The excellent comprehensive licensing guide to Microsoft Flow and PowerApps by Jussi Roine