For developers coming from traditional full code environments, the Power Platform offers a different way of working. It’s designed to get functional apps up and running quickly using low code tools, built in connectors, and ready-made UI components. This can be a real advantage for rapid prototyping or streamlining common business processes. However, the approach isn’t without trade offs. You’ll still need to plan your design, understand your data, and know the platform’s limits before committing to it for a project. In this post, I’ll walk through some of the key strengths and constraints so you can make an informed decision about when to use Power Platform and when a custom build may be the better option.
Crafting a User Friendly Interface:
When it comes to UI development, the Power Platform stands out for its ability to simplify the process. The range of pre built components allows developers to quickly assemble and customise their app’s user interface, eliminating the need for time-consuming and complex coding. It really reminds me of a more optimised version of the old Visual Basic form designer.
But it’s important to note that while the Power Platform does offer these advantages, it’s not a magic solution. Designing a user friendly interface still requires careful planning and consideration. This includes understanding the target audience, their needs, and preferences, and incorporating these insights into the app’s design. You will then need to work out what controls are needed to accomplish these tasks, and ensure that PowerApps can support those controls. If the controls are not quite what you need, you can end up requiring custom controls developed. If this is discovered during planning, it may be time to consider a custom built solution instead, as you are likely reaching the same break even point cost/timewise, and adding overhead which may be very hard to update/replace. By taking the time to create a clear and well structured design upfront, developers can avoid potential roadblocks and make sure they have all the tools available to create the final solution.

Seamlessly Integrating Data:
The Power Platform is great when it comes to integrating with a variety of built-in data sources. Using power automate with its built-in connectors will give access to a good variety of tools and external sources out of the box.
However, it is crucial to keep in mind that as your project scales, the complexity of managing data also increases. That’s why I would highly recommend to organise your data structures and models early on in the development process. Power Platform is purely a data driven development platform. This proactive approach allows you to tackle potential challenges that may arise as your project grows.
By this, I mean making sure you know what format the data will be imported via, how that data will be loaded and saved on each form, and how it will be displayed. Considering the constraints imposed by SharePoint on data loading and delegating, and the general ineffectiveness of subcollections, it is advisable to link each object through an identification number rather than combining them into a single ‘class’ of objects.
By strategically planning and structuring your data from the beginning, you can ensure that your app remains adaptable and scalable. This prevents any potential roadblocks or limitations that might hinder the functionality and performance of your app as it evolves. Considering one of the key constraints of whether to use Power Platform vs a .NET application is the complexity of data, it’s a very important step to ensure.

Navigating Complexity:
Power Apps is a versatile platform that is well-suited for a range of applications, from simple to moderately complex. Its low-code approach allows for quick prototyping and streamlines standard business processes. However, it’s essential to acknowledge that Power Apps is not a one-size-fits-all solution.
If your project involves more than 2-3 complex workflows, multiple data sources with deep relationships, or needs heavy calculations/reporting, plan for a custom build or hybrid approach. Power Platform excels for simpler apps that can be delivered in under a month of dev time. Honestly, beyond that, maintenance and performance risks rise quickly.
Source Control and Best Practices:
Source control is often overlooked in PowerApps. While it may not be fully supported out of the box, there’s definitely some major pro’s to setting up a basic system, which you can repeat. Setting up a pipeline in devops on azure to rebuild a PowerApps solution, is strongly suggested, as it should both save the source code, and show changes. It’s a valuable addition. A properly managed environment using CoE is also almost mandatory, PowerApps are notorious for having way more environments than are required, each with a bunch of applications which are not documented in any form. When approaching PowerApps you need to have someone who is a clear owner of the platform and willing to make sure everything is documented clearly. It’s the #1 issue I see with customer PowerApps implementations.

Embracing Test-Driven Development:
Testing is crucial in PowerApps due to its intricate data structures. Even small changes can lead to disruptions. The recent introduction of a test studio is worth exploring. Advocating for test driven development can streamline project development and avoid complications.
Since data structures are so important in Power Apps, any changes to them can have effects which will propagate across the entire application. As you would imagine this is the main reason why test studio would improve development. Without this, you can end up going around and fixing small changes in every page only to discover that the pages fixed first are no longer working. I recommend investing in your test process, the stability it brings will pay dividends in the long run

In Summation:
PowerApps can be a powerful tool for rapid application development. However, success relies on planning and strategic execution, as there are limitations that you should be aware of.