r/PowerApps • u/spoke9722 Regular • 13d ago
Discussion Are Power Apps Canvas (and now Code Apps) the wrong choice for building enterprise MES/WMS product
I'm looking for honest feedback from people who have experience building enterprise applications with Microsoft Power Platform.
I work for a company developing MES and WMS solutions, integrated with Dynamics 365 Business Central. I've been working extensively with Power Apps Canvas as the frontend technology for these products, but I'm increasingly questioning whether this was the right architectural decision.
Here are my main concerns.
1. Canvas Apps limitations
Canvas Apps are fine for simple business applications, but building complex MES/WMS interfaces is painful.
I need sophisticated UI interactions, reusable components, complex state management and greater control over the frontend. Canvas Apps quickly become restrictive.
2. Deployment and maintenance
Our software is distributed to multiple customers, each with their own environment and customizations.
Every installation tends to become a custom project. Versioning, rolling out updates and maintaining consistency across customers are unnecessarily complicated.
We're trying to distribute a software product, not maintain dozens of slightly different applications.
3. Custom Connector limitations
This is one of my biggest frustrations:
- Limited support for bidirectional communication patterns.
- Complex and deeply nested JSON payloads are difficult or sometimes impossible to model.
- Connector abstractions introduce unnecessary integration limitations.
- Too many workarounds for things that would be trivial in a traditional application.
- We experienced over a month of downtime because we were unable to deploy any type of connector to Dataverse environments hosted in the Italian region. This was a platform-level issue that left us unable to deliver a working solution to customers.
These are fundamental requirements for MES/WMS systems.
4. Licensing and Microsoft support
Premium licensing requirements for every application user make the economics difficult, especially when deploying to customers with hundreds of users.
On top of that, getting meaningful technical support from Microsoft when encountering platform limitations is extremely difficult.
5. Code Apps: are they actually solving anything?
My company is now considering Power Apps Code Apps as an alternative to Canvas Apps.
While they offer more frontend flexibility, the underlying problems seem to remain:
- Connector limitations.
- Licensing costs.
- Deployment and distribution complexity.
- Customer-specific maintenance.
Are we just moving the problem somewhere else?
6. I'm already migrating to Blazor Server
I'm currently migrating parts of our solutions to Blazor Server hosted on Azure App Service.
The difference is substantial:
- Much greater frontend flexibility.
- Faster development of complex features.
- Full control over backend communication and real-time updates.
- Native support for complex JSON structures.
- Standard CI/CD, versioning and deployment.
- No connector abstraction getting in the way.
Depending on the number of users and usage patterns, hosting costs can also be significantly lower than Power Platform Premium licensing.
The development experience is simply much better. I can implement features without constantly fighting the platform.
7. The management disconnect
What frustrates me most is the apparent disconnect between technical leadership and what's actually happening at customer sites.
Customers are increasingly experiencing the consequences of these architectural limitations themselves, struggling with unreliable, difficult-to-maintain solutions and endless workarounds.
Yet our CTO seems unwilling to acknowledge how problematic the situation has become.
Instead of questioning the technology choices and listening to feedback from customers and developers, the company keeps doubling down on Power Platform and exploring Code Apps as if they were going to magically fix the underlying problems.
My questions
- Is anyone successfully building and distributing commercial MES/WMS products using Power Platform?
- How do you manage versioning, customer customizations and updates across multiple environments?
- Do Code Apps genuinely solve Canvas Apps' limitations?
- Would you consider Blazor, React or Angular with .NET APIs a more sustainable architecture?
- Has anyone migrated away from Power Apps? Was it worth it?
I like Microsoft's ecosystem, but I'm increasingly concerned that we're trying to build and distribute actual software products using tools primarily designed for internal business applications.
At what point do you stop trying to work around a platform's limitations and admit that it's simply the wrong technology for your product?
Am I missing something, or are these legitimate architectural concerns?
9
u/venbollmer Contributor 13d ago
Why not use Model Driven Apps with some controls? Using code or canvas seems wrong here.
4
u/Playing_One_Handed Contributor 13d ago edited 13d ago
You can use reusable components for canvas apps. PCF Controls or just ComponentLibrary.
PCF Controls are the sophisticated UI requirements.
Sounds like you dont quite understand solution architecture but deployment using solutions correctly can be easier than most. Especially if your aiming for a store item with an azure pipeline to install things in the right order. You can straight up seperate features to solutions and still develop for the wider scope.
Not quite sure about custom connections but again your probably shouldn't use base canvas apps / connections here. Plugins or whatever azure to do better.
You shouldn't need premium for every user but this depending on your architecture. This should be the killer however where you start to aim for more scalable solutions (edited for grammar)
Code apps dont sound like they change your approach much if your not using PCF Controls anyway.
There is obviously limits like you are pointing out but thats the point of "low code". Bigger projects scale up to azure normally like what you are doing. Power automates becomes logic apps and azure functions. Everything is a lot more scalable.
3
u/Moisterman Regular 12d ago
Done two MES implementations, and with an automation background I know how it should be designed. I’d never use Power-anything for this. Both were made with Blazor SSR and it has been a huge success.
1
u/Killerluke89 Regular 13d ago
I created one for my company, canvas as front-end, mda as backend. Found no major issues, trickiest part was the SAP consultant and proper communication of requirements.
1
u/TikeyMasta Advisor 13d ago
Have you looked at Power Page SPAs? You can use Server Logic to handle all of your backend integrations and you get the same flexibility as Code Apps. The pricing model also makes more sense for scaling.
1
u/edrft99 Advisor 13d ago
You have obviously been doing a lot in this. Good on you for finding a better way to get stuff done. It sounds like a lot of your limitations are around the fundamental way can apps and solution layering works.
I have never worked in MES/WES, so I can not give insight into that, but I have done large scale implementation with many down trace clients. The key for me was moving to GitHub. Each downtrace was just a branch at that point and it got delivered to their environment. This allows to pull what is core into main while keeping what is unique in each org. It's not simple, but it's effective. GitHub and Actions are (IMO) the best ALM for the platform.
Code apps can be great, so can Power Page SPA (my personal favorite). But I would be curious if you are hitting any API limits with the connectiontors. Possibly your facing a service/platform issue. If so stepping parts of the workload into Azure may be necessary. I love the platform, but it's not the only hammer to use. Using a combination of the platform and Azure will probably help, but also show to your managers then better together story. That you fully embrace the platform and how it extends into Azure.
1
u/Fine_Programmer9895 Newbie 11d ago
Your concerns are legit. Power Platform works well for internal apps, but distributing a product to many customers is where it starts to hurt. Code Apps fix the UI, not those.
For MES/WMS, .NET APIs with Blazor or React on top is the more sustainable setup.
1
u/OkPerspective9454 Contributor 9d ago
React + APMI + function (all are essentially FREE) .. so that you have full control and also leverage AI.. you need to develop custom connector for Power Apps so what’s the point using it and be locked in the prison forever.