When we think about how we build enterprise applications, we usually think of large teams of developers building complex multi-tier systems that work across desktop PCs, mobile devices, local servers, and the ever-growing public cloud, coupled with long-term support and maintenance, using line-of-business systems and large databases. But not every application needs that level of development, or even that level of support.
There’s code that’s only needed by a department, or even by only one person. Then there’s code that’s written to solve a one-off problem, something that’s only needed for the life of a project, or for a few weeks. And finally, there’s code that’s changing quickly, supporting teams working with rapidly changing situations, or acting as a minimum-viable product for a much larger project, showing how users will work with it.
Changing the way we build apps
We talk about citizen developers, or “the democratisation of IT”, focusing on the concept of users building their own applications. That’s an important shift in priorities, as it changes the audience for developer tools from one that’s been trained to use IDEs and programmer’s editors, to one that’s familiar with websites and with productivity tools like Office.
It’s important to realise that this isn’t something new. We’ve had Excel and Access applications for a long time now, using connectors to access live data and publishing tools to deliver applications as websites. What’s new is that there’s a deeper understanding of what’s needed to build these applications, and the necessary tools are being delivered alongside line-of-business applications and services, targeted at a new generation of citizen developers.
PowerApps: building on the Power Platform
Microsoft’s Power Platform is at the heart of its business applications strategy. Bringing together four different strands of its business tooling, they mix reporting, workflow, and application development, all working on a foundation of a common data model. Power BI is the reporting tool, Flow handles workflow, while PowerApps lets you wrap it all up in a cross-platform front end. Under it all is the Common Data Service, a set of extensible business objects and schema that work not only across Dynamics, but also with other tools like SAP.
PowerApps is perhaps the most important piece of the Power Platform jigsaw puzzle, as it’s the tool that brings all the other pieces together. With two different application models, canvas and model-driven, it’s a powerful tool for building and sharing applications across an organisation.
Canvas apps offer a very familiar way of working, with a drag and drop approach to application development. Starting with a blank canvas, you create an app by pulling design elements off a toolbar onto the canvas. Microsoft describes it like building a PowerPoint slide, and there are a lot of similarities. Once you’ve built a layout, an Excel-like expression language brings in business data, using Microsoft and third-party service connectors.
Canvas apps run on PCs, in browsers, and inside iOS and Android apps, making them a quick way to build and deploy cross-platform code. PowerApps relies on familiar application patterns, like Master/Detail pages, to quickly build query- and search-driven apps. Microsoft provides a gallery of sample apps that you can customise. Once built and tested you can share canvas apps with colleagues. They’re quick to update, so you can respond to changes in your data sources.
Model-driven apps take a different approach to application development, one that’s a lot closer to the way PowerBI creates charts and visualisations. Instead of starting with a user experience and then connecting it to business applications, you build a set of business processes and the underlying models and entities that are used within it; for example, a sales process with entities that include customers and products.
Once you have these, you can compose your application without writing any code by grouping entities into forms and views. PowerApps automatically creates an app based upon the model you’ve created and your layout preferences. Where Canvas apps build on Excel skills, Model-driven apps map well to the methods used to build Access apps.
Build once, run almost anywhere
There’s a lot to like here: PowerApps gives you a build-once, run-anywhere approach to low code development by anyone who’s written an Excel function or put together an Access report. You’re not limited to working on a PC, you can build apps in your browser or on your phone. Once built, apps are available to anyone in your organisation, and are updated automatically when you make changes, for all your users.
If you’re thinking of getting started and want to evaluate it, or even build a simple application for yourself, there’s a community plan that gives you a free workspace for both PowerApps and Flow. It’s an ideal way to experiment with the service, and while there are some limits on storage, there’s more than enough here to build as complex an application as you need. All you need is a work email address.
There are three main options for licensing PowerApps once you’re ready to share your application with the rest of your organisation:
PowerApps per app plan: gives access to the full functionality of PowerApps, limits the user to running two apps (Canvas and/or Model driven) and one portal, licensed per user, per app at $10 per user/app/month.
PowerApps per user plan: gives unlimited applications based on the full capabilities of PowerApps, licensed per user at $40 per user per month.
Seeded PowerApps: some Dynamics and Office 365 subscriptions include PowerApps, so your licensing costs are likely to be a lot lower than you might initially think once you take into account already licensed copies. However you are licensed to use PowerApps only within the context of the application it is purchased with to extend or customise.
PowerApps is well worth sharing with your users. They’ve all got itches that need scratching, and those apps that they build could well be the prototype for your next major development programmme.
Find out more about PowerApps by contacting Grey Matter who can provide licensing advice relevant to your use case scenario: +44 (0)1364 654100.