Power Apps and the .NET Developer
Power Apps is a low-code solution to building applications. A lot of the work needed to make the application work is done for you behind the scenes. You still have to write code to make the app work, but that's not the main focus when creating the app.
An app built with .NET is high-code. I don't mean that .NET isn't elegant or libraries don't exist to help. Rather when you write a .NET app your primary focus is on writing code to make the app work.
Both are incredibly powerful ways to build applications.
And when you mix Power Apps with .NET - your productivity can go through the roof.
So let's talk about why the .NET developer should know Power Apps.
Forms Over Data Like You've Never Seen Before
I'm just going to state this as fact, and it's based off of 20 some years of working in and with large enterprises - most enterprise development is creating some type of forms over data application.
In other words, an app that searches for data, views data, and modifies data. Yes, it may do other things, but the form over the data is the gist of the application.
Most enterprise development is creating some type of forms over data application.
Power Apps excels at creating such apps. It will automatically scaffold out an entire forms over data application for you - you just need to point it at your data source, like Azure SQL... or an Excel sheet (because you know, why not).
This then frees you up to concentrate on the core of the application. The portion of it that's not just the forms over data. But ... even then a lot of the time you're not starting from scratch. There are tons of components that give you a headstart on other development tasks. Like media or AI.
Right now you might be thinking ... so what exactly does this have to do with .NET development? The very simple answer ... it frees up your time.
Use Power Apps and everything that it gives you to quickly create robust applications. But a Power App isn't appropriate in every single situation. I mean, you're not writing any web APIs in Power Apps. They're not meant for customer facing apps.
But if you can speed up your development for internal frontend apps and that leaves you more time to concentrate on apps that need to be written in .NET - that's a win-win for everybody.
Connectors - and Custom Connectors
Part of what makes creating Power Apps such an attractive proposition are Connectors.
A Connector supplies external functionality to Power Apps. In other words, a Connector connects your Power App to Azure Blob Storage for example. There's a Docusign Connector. One for LIFX (control those lights!), Salesforce ... you get the idea.
It connects your app to external data.
External functionality made so it's easily consumable in a Power App.
And here's where things get interesting. You can create your own Custom Connector.
If you have an OpenAPI described web API, you can create a Custom Connector for it, and then consume it in Power Apps.
Starting with Visual Studio 2019 and continuing with 2022 - or using the .NET CLI - it's as easy as checking a box to generate an OpenAPI definition for you web API.
Now you're able to take your high-code .NET web API application - and maybe it's deployed in Azure App Service across several regions and managed in Azure API Management - and use it within your Power Apps App.
Thanks to a Custom Connector and a .NET web API, the Power Apps App is becoming more than just a low-code app.
You're mixing the best of both high-code and low-code worlds.
Fusion Development
And that brings us to the concept of Fusion Development.
Fusion Development is still new, but it's underlying concept is old: use the best tools for the right job.
In this sense, use Power Apps where it excels, creating frontends quickly that support forms over data. Use .NET where it excels, such as responding to web requests to get data and perform business logic lightning fast.
Use the best tools for the right job.
Mix and match where it makes sense. Once you get a feel for what Power Apps is capable of, you'll know when to use it. Just like you know when a switch
makes more sense than an if
.
Together you'll find yourself and your team building better apps faster.
Learn More
The low-code revolution, if you will, and its intersection with professional development is incredibly interesting to me.
If you want to learn more, I've created a couple of Pluralsight courses that explore Power Apps (and help prep you for the PL-200 certification exam). These links will give you a free trial:
I've also helped write a Microsoft Learn Path on Fusion Development for the professional developer.
Check them out!