Understanding Power Apps
Power Apps is an ever-growing part of the Microsoft 365 ecosystem, where developers and business users alike are empowered to create apps. Power Apps encourages the no-code/low-code and pro-code worlds to come together for the common purpose of finding workable solutions to real-life business problems.
As an example, Power Apps has proved to be extremely useful as a replacement for legacy paper systems, so that data can be returned for processing at a much faster speed. I personally have created an app enabling construction surveyors to complete an assessment of completed works using a Power App instead of a clipboard and paper. It allowed them to capture data, GPS information, and photographs all in one place, with the data being submitted back to the office as soon as they pressed save.
Interestingly, in the Microsoft world, it has helped to bridge the two key communities of collaboration (Microsoft 365) and CRM (Dynamics 365), as these communities now have a common platform for developing their low-code solutions. This allows for a huge amount of diversity for developers as they can utilize Microsoft Dataverse, the online database platform that powers Dynamics, for low-code relational databases, or even use SharePoint for very simple data structures.
If we think back to how we used to achieve low-code development with the likes of SharePoint, we would have to use products such as InfoPath, where we could combine custom logic with a number of visual components to extend the user experience:
Figure 1.1: InfoPath as an editing application
InfoPath, love it or hate it, was one of the initial low-code development tools that allowed us to create more intelligent interfaces for our data using a visual editor combined with code to create the desired functionality.
Power Apps shares some commonalities with InfoPath, with apps being created using visual tools and logic created using formulas. Just one of the key differences, however, is that with Power Apps, apps are developed through the browser without the dependency on additional applications needing to be installed on the desktop. This also builds into the Microsoft vision of mobility, where a user can work on their app anywhere in the world, at any time, from any device. The only prerequisite to this is that the developer has a connection to the internet.
Power Apps aren’t written with code; instead, they are created with formulas, similar to Microsoft Excel, a tool that the majority of the modern workforce are familiar with.
For example, if we wanted to combine or concatenate strings in Excel, we would use the following formula:
Figure 1.2: Formulas in Microsoft Excel
If we do the same within Power Apps, we will see the similarities between the two products:
Figure 1.3: Formulas in Microsoft Power Apps
With this familiar approach to building logic, you don’t need to be a developer to start creating solutions to business problems. For developers, Power Apps can be enriched using custom-developed components using the Power Apps Component Framework (PCF), which allows the creation of additional experiences using modern web development practices.
From personal experience, I find Power Apps to be an excellent rapid application development or prototyping tool. Due to the drag-and-drop nature of its design, I can quickly and easily place components on a screen to establish a basic look and feel for an app while also connecting to some of the more rudimentary data sources, such as an Excel spreadsheet or a SharePoint list.
Power Apps itself is part of a larger family of services known as the Power Platform. It partners with other services such as Power Automate, Power BI, and Power Virtual Agents, all of which allow users to create rich solutions without having to write code.
Before we dive into how we create apps, we should explore Power Apps’ licensing options, since their cost will be a huge influence on the design decisions you make when creating apps.