You might have heard of Microsoft Power Apps from one of your colleagues, business partners or even clients, but what is Microsoft Power Apps? Since its release in 2017, it has attracted a lot of attention from the mobile development community. This is an exciting technology that is focused predominantly at a business user and not the traditional developer. Its intention is to allow mobile, tablet or desktop applications to be created very quickly with simple templates and drag and drop capabilities from their development environment.
It is worth noting that although this technology sounds great in essence, there are some fundamental things that need outlining before choosing it as a solution for your business. Hopefully, we cover most of the aspects that will help you understand why you would use it, when you would use it and also how much it will cost you.
History of mobile development
When mobile development first started the only way of creating an application for a device, was to write the application using the platform's native development language. For example, to create an Apple IOS application, the development would involve writing it in Objective C. If you wanted the application to run on an Android device as well, then you would have to write the code in Java. This often meant applications would cost a lot to develop and a lot to maintain because you would have to duplicate code for each platform and support each of them.
With the evolution of cross platform frameworks such as Xamarin and React Native this revolutionised mobile development. It meant that mobile applications could be written in one language and it would run on both IOS and Android devices. For developers, this reduced the time and effort to build a cross platform solution, and ultimately reduced the overall cost of the product to the client.
Power Apps Development
Microsoft Power Apps seems to be the next evolution for mobile development. This technology not only allows business to develop cross platform applications, but it also allows applications to be built very quickly with none or very little technical knowledge. Here is a screen shot of the Power Apps Portal.
The Power Apps environment supports RAD (Rapid Application Development) by allowing drag and drop capabilities for labels, text boxes and other widgets onto the development canvas.
As with all business requirements, a proper analysis has to be conducted in order to evaluate whether or not this technology is suitable for your business before you think that this sounds like the perfect solution. It does have its limitations, such as:
- No access to the code
- Not built for great UX (user experience)
- Licencing model restricts its use case
Its also worth noting this technology is heavily influenced by Microsoft Excel, the concepts of writing code are alien to this platform. Instead the concept of an expressions are used to drive functionality.
I understand if this does not make sense to you, however, what this means from a development point of view, is that the framework handles a lot of the boiler plate logic that developers would have to traditionally handle themselves. If you have experience with Excel and formulas, then you will feel at home here.
Should I use it?
This technology is targeted for business mobile apps and not consumer mobile apps. With this technology, you are going to create an app that is used within your organisation that innovates or improves an existing business process. When you start creating a Power App, there are some starting templates created by Microsoft that show case some of the possibilities for your business. You are free to customise any of the templates for your needs.
The Power Apps platform is constantly changing and the ability for an app to access your internal systems is becoming very easy. The good news is, if Microsoft hasn't created a way of accessing your specific systems, then you are able to create an API to expose that data and Power Apps can use it.
There are many things to consider before choosing a technical solution. For example here are some questions that may drive the suitability of this technology:
- What is the application going to be used for?
- Who are your users? Are they internal or external?
- What devices will it run on?
- Will it need off line capability?
- Will it need to access data over the internet?
- Will it need access to internal system data?
- What is my operating budget?
When determining your requirements, its essential that you have enough information about your options before making a decision on what you are going to build.
What is the cost?
Often overlooked with this solution is the ongoing licensing costs that Microsoft will charge in order to use your app. The pricing guide can be found here. Note, this is in USD currency.
For a business, let's say initial cost for a solution may take 1 week to build a simple solution. However, if your business has 50 users of this application, then you will have to allocate a budget of $500 per month in order for it to be used. Yes, the initial development cost is low, however, the ongoing cost will be high and potentially for the life time of that application. Some of the Office 365 licenses have Power Apps as part of it, however you will have to check to see if your existing licence covers you for it.
Microsoft has done a fantastic job with Power Apps to allow business to quickly create mobile applications to help support their business processes. The good news is it allows a business to build a solution very quickly, however the ongoing costs may be high due to the Power Apps licensing model. Microsoft Power Apps are a great tool for a business, but may not be suitable for a consumer based applications. Here at Dingbat Studios, we love Xamarin, React Native and Microsoft Power Apps. We know the best use cases for each of these technologies and we will help you understand the pros and cons of each when we build your mobile application.