Is Microsoft Power Apps Really a Low Code Development Tool?

Microsoft describes Power Apps as a ‘Low Code’ development tool that aims to make modern app development available to non-developers, but is this an accurate description?

It somewhat depends on which ‘flavour’ of Power Apps you’re using.  Model Driven apps do use the underlying Dataverse database to provide rules for the app to follow, removing a lot of the need to create custom logic (i.e. code) at the interface level.  However, as soon as you need to get a bit more creative with your interface, you’re going to need to master Power FX.
If you’re creating a more standalone app, then you’ll likely choose Power Apps Canvas Apps, and again you’re going to want to get to know Power FX pretty well.
Power FX is PowerApps’ core functional language.  Unlike traditional development languages, it’s a formula-based language, rather than a structural, or object-oriented language.  This makes Power FX more accessible (think Excel formulas on steroids); however it also brings limitations (call them challenges) when it comes to manipulating data, and controlling program flow.

Like Excel formulas, you can get pretty creative by nesting and combining formulas to achieve some pretty impressive results (for example we routinely create sophisticated CRM, Stock Control, and Document Management apps to name but a few).  Power Apps also does a pretty good job of protecting you from common mistakes, such as circular references, and changing a variable’s state during an iterative loop; although the latter can be pretty frustrating to traditional programmers, resulting in a whole ecosystem if develops suggesting various hacks and workarounds.

To really get the most out of Power Apps you’ll definitely want to look to integrating it with Microsoft Power Automate; another ‘low-code’ tool that provides an incredibly powerful business process automation platform (this will be a topic for another post).  If you are looking to integrate your Power Apps with Power Automate, you’ll also need to learn JSON, ODATA Queries, and a lot of patience when it comes to Power Automate’s rather challenging and cumbersome formula language.

To further add to the low-code debate; if you’re looking to create external facing apps using Microsoft Power Pages, you’re very quickly going to need to master HTML, CSS and Java as a minimum (but it’s definitely worth the effort).
Increasingly you’ll find Microsoft Copilot offering to help you with your app endeavours, but does it help?  I personally don’t use it as I’m a bit of a purist, and prefer to understand the code I’m using, rather than trusting that the Ai had suggested the best approach.  We’ve had a few projects now that started out with Copilot suggested builds and quickly left the client wondering where to turn when Copilot ran out of steam.
There’s also a lot of debate as to whether or not Copilot is creating ‘lazy’ developers.  Again, personally, I feel that anything that gets people involved in app development is a great thing and should be embraced.  Just be prepared to spend time doing your research if you’re looking to build a business-critical app with Copilot as your main source of help.
So is Power Apps low-code?  Well, compared to other languages it is; however you need to set your expectations pretty low if you’re hoping to create a great user experience, whilst delivering solid business functionality.

All I can say is: Give it a try – you’ll be impressed with what you can achieve in a relatively short time!

How can we help?
Let's Talk