Microsoft has announced PowerApps, a new way to create and host applications for its Azure cloud service.
PowerApps is an "enterprise service for innovators everywhere to connect, create and share business apps," says Application Platform VP Bill Staples.
Sure, but what is this really? Microsoft, it turns out, is still hunting for that mythical thing, a tool for non-programmers to build useful applications. "There simply aren’t enough skilled developers to keep up with demand for business app scenarios," says Staples.
In this latest effort, the company is combining the existing Azure App Service with a new tool that supposedly enables anyone to create an application with a few clicks.
Azure App Service, which was introduced in March 2015, is the evolution of Azure Web Apps, a managed platform for applications. App Service supports .NET, Node.js, Java, PHP or Python. The underlying virtual machines are only partially abstracted, but Microsoft takes care of patching the operating system and you can auto-scale the infrastructure based on load.
PowerApps is a new visual development tool for building clients for App Service applications. It borrows from previous efforts to attract non-programmers, such as Project Siena (still in beta), an app for building Windows 8 apps, and App Studio (still in beta), a browser-based tool for building apps for Windows 8, Windows Phone and Windows 10.
The PowerApps development tool runs as a Windows application, but "the full authoring tool also works in a browser running on any platform," according to a Microsoft spokesperson.
When you create a new PowerApp, you can start with a template, a data connection, or a blank canvas. Data sources can be anything from APIs built on App Service, lists from Dynamics CRM, Salesforce or SharePoint, documents on OneDrive or Google Drive, or data in am Azure-hosted SQL Server database. Using a drag-and-drop interface, you can assemble simple applications, binding controls to data from your connection.
You can also include things called "logic flows" that are tasks trigged by events. In the online example, you can monitor Twitter for tweets containing a certain hashtag, and send an email when one is detected.
Adding logic to a PowerApp
PowerApps also support formulae, for which Microsoft has drawn on its Excel spreadsheet application for inspiration. "PowerApps is modeled after Excel. Many of the same formulas that you use in Excel also work in PowerApps," says the tutorial. The actual list of formulae is rather short in comparison with Excel, and some of the functions listed in the reference are really commands – such as Navigate, Disable, and LoadData – but it looks like power users can write some elaborate logic if they choose.
Offline applications are supported, thanks to a local data store.
Once your app is complete, you can deploy it. Microsoft is aiming for business users, and you can control permissions based on groups in Azure Active Directory, giving users either view or edit permissions. The company makes play of the idea that PowerApps have enterprise manageability as well as being easy to build.
The normal deployment mechanism is via an email. According to the documentation:
The message contains a link that a user can select to access the app. Any users who don't have PowerApps (or aren’t signed up to use it) are prompted to install it and sign up for it.
Microsoft has three different plans for PowerApps, Free, Standard and Enterprise, with pricing helpfully announced as $0, $, and $$. The free service limited to two connections to data sources per user. If performance and availability is anything like that of the free tier for Azure App Service, the free tier will only be suitable for experimentation. During the preview, the Standard tier is also free.
In its announcement, Microsoft fudges together the PowerApp visual development tool with the more general ability of Azure App Service to support all kinds of client applications, web or mobile. The App Service itself is already popular, thanks to its combination of low maintenance, easy scaling, and familiar application model.
What of the PowerApp visual development tool itself, though? Microsoft's earlier efforts in this space, including Project Siena, have not taken off. The balance between ease of use and capability is hard to get right, and some supposedly easy tools become annoying and difficult when you try to do real-world applications.
Another issue is that while enabling non-programmers to build applications sounds worthwhile, it can also cause problems if they prove to be buggy or unreliable. Tools like Excel and Access have proved to be a mixed blessing for exactly this reason. ®