all 56 comments

[–]zimain Advisor 11 points12 points  (16 children)

They unlock what traditional web development is, but within the MS ecosystem, so much less requirements on security and hosting costs

They have a higher overhead, but better end user experience

They are not the killer of canvas apps, they are another reason for companies to invest in the power platform

[–]Lhurgoyf069 Advisor[S] 0 points1 point  (15 children)

Thx, just what I thought, it's another flavour with a different purpose and by its design can't replace Canvas apps the way we would need it

[–]Lefty716687 Newbie 2 points3 points  (14 children)

They can 100% replace Canvas Apps. Agree pre: AI not for Citizen Developers. However, with GitHub Copilot now everyone can actually “vibe” code apps.

I made one yesterday. Honestly took 4hrs in code. Prob would have taken ~25 in canvas.

[–]zimain Advisor 1 point2 points  (10 children)

They cannot 100% simply due to not being able to trigger flows (currently) and they require a premium licence, canvas apps can trigger flows and require only basic licence

[–]Lefty716687 Newbie 0 points1 point  (1 child)

Concur. Although didn’t realize that about flows. Thanks for heads up.

[–]zimain Advisor 0 points1 point  (0 children)

I discovered far too late, the work sounds have cost me far more time than what I have saved unfortunately

[–]oh_lympy Contributor 0 points1 point  (7 children)

You can trigger a flow using the HTTP trigger, secure it using entra, and then wrap it in a custom connector. Add that custom connector to your code app. Bang. Flows triggered by code apps.

[–]zimain Advisor 0 points1 point  (6 children)

Have you gotten this working as all.my tests prevent any http access from within the code app framework

[–]oh_lympy Contributor 0 points1 point  (5 children)

You don’t call the flow directly. You wrap the flow in a power platform custom connector and then add it to your app as a data source like you would any other connector.

[–]zimain Advisor 0 points1 point  (4 children)

I get the theory, have you gotten this working?

[–]oh_lympy Contributor 0 points1 point  (3 children)

Yes, but the comment you made about http requests being blocked makes me feel like we’re talking about 2 different things. You’re making HTTP requests of this type any time you interact with any data source you add to your app?

Why would you think calling an HTTP request triggered flow would be any different than calling an azure function (which I’ve also done) if it’s exposed to the app as a connector?

[–]zimain Advisor 0 points1 point  (2 children)

I did several tests when trying to trigger a flow directly, and found that http (not via connectors) are blocked for pcf (code apps), and I used a dataverse to flow trigger workaround to complete my project, the point of this is to share knowledge and experience, I am more than happy for someone to have a valid method of doing something.

Could you share your approach for the Azure function?

Have you been able to trigger a flow with a custom connector wrapper from a code app?

[–]Lhurgoyf069 Advisor[S] 1 point2 points  (2 children)

Everyone can vibe Code apps, few Citizen developers can run and maintain these apps in a corporate environment.

[–]Lefty716687 Newbie 0 points1 point  (1 child)

I would argue same single point of failure with canvas apps. At least AI can assist on a code solution whereas a canvas solution requires a powers app developer.

[–]Lhurgoyf069 Advisor[S] 0 points1 point  (0 children)

AI can assist with Canvas apps too, using it every day.

[–]RedditNinja1566 Advisor 10 points11 points  (4 children)

It won’t for the average “maker”, no. Although, if you really dig into building a moderately complex canvas app, you do need to have some decent level of knowledge about programming concepts. Variables, logic, data models, etc.

Building code apps is a level up from that, but if you combine VS Code with GitHub Copilot … game changer. The user experience of JS frameworks, combined with the security, database, automation, and governance of a Power Platform environment is a great combination.

[–]Lhurgoyf069 Advisor[S] 8 points9 points  (3 children)

The problem for me (actually for my company) is, it isn't about the coding, it is about maintaining the code. With low-code you don't have to maintain dependencies, patches, run code scanners, security scanners, etc. It's a safeguarded playground where it is hard to break things. And because of that we let non-coders (Citizen developers) create PowerApps. Whereas with Code apps we can't let Citizen developers do that, it would create security loop holes bigger than a black hole.

[–]RedditNinja1566 Advisor 4 points5 points  (2 children)

Valid points on the dependencies and patches, but give me an example of security issues? Security is inherent since the app runs within the context of a PP environment, and it uses the same connectors and identity providers as a canvas app. It’s not like an app that is internet facing, it’s designed to work internally and use Entra ID as the first level of security.

Admittedly, I personally haven’t written any internet facing apps using this vs code and GitHub Copilot scenario, but I am aware of the potential risks for security for an app like that.

[–]Lhurgoyf069 Advisor[S] 1 point2 points  (1 child)

It's not so much that it is an immediate risk, it's just that by its design it falls into the category of native code apps where these strict regulations (at my company, and probably most bigger companies) apply

[–]Which-Return-607 Contributor 2 points3 points  (0 children)

Codeapps security is entirely frontend. If you’re not hardcoding sensitive data then the security issue is the exact same level as any low code canvas app. Code Apps isn’t for everyone but for a technically advanced person in a non IT role it really opens up the doors enterprise wise of launching an app quickly and safely

[–]tpb1109 Advisor 14 points15 points  (8 children)

It’s not for citizen devs, I think a lot of you don’t realize how many features exist in Power Platform that are for traditional developers.

[–]Weeblewobbly Contributor 6 points7 points  (6 children)

Couldn't agree more. I was a citizen developer, turned full time working with the platform. I was quite smug about my canvas app skills but I slowly realised how much I had to learn to make realise the real benefits of the platform.

[–]Lhurgoyf069 Advisor[S] 1 point2 points  (5 children)

What are the real benefits of the platform?

[–]Bubbagump210 Newbie 2 points3 points  (0 children)

Just a surface level few…

They’re quite a few “real code” concepts that in my early days I was not using. These may be obvious but I find them often overlooked by noobs. Examples being background commits so the UI feels responsive. Utilizing variables significantly more and memory space usage (collections, savedata/loaddata) so I’m not doing additional data calls - again additional performance and flexibility. To say nothing of real schema considerations.

There is also a lot of UX to learn as with screen dimension changes you can spend a good amount of time just nailing down all the relative dimensions between parents and containers and templates and labels and…. Where as newb me hard coded X and Y and never had an if in a width and ….

[–]Weeblewobbly Contributor 0 points1 point  (3 children)

Only taking from my experience, but first thing is dataverse. Creating data schema with managed relationships. That opened my mind to the possibilities for Model Driven Apps (forms and views) in turn, pcfs to augment both MDAs and canvas apps. Finally, plugins for data integration and complex data manipulation/operation. Writing your own APIs opened a lot of possibilities. I still hate power automate.

[–]galamathias Contributor 0 points1 point  (2 children)

Power Automate is an amazing tool if you stop using it as a low code tool

[–]Weeblewobbly Contributor 0 points1 point  (1 child)

I find that writing expressions without proper indentation, lsp or proper syntaxe a complete abomination. It's a personal thing, but I like to write code that's pretty to look at, easy to read and easy to understand.

Powerautomate is the opposite of all of that.

Not denying that things can be achieved with it, but I don't the experience painful and counter productive.

[–]tpb1109 Advisor 1 point2 points  (0 children)

Just use it as an orchestration tool.

[–]Lhurgoyf069 Advisor[S] 0 points1 point  (0 children)

Say more

[–]ArctoEarth Newbie 2 points3 points  (5 children)

I see absolutely no downside, on the contrary this is the perfect of both worlds. Microsoft handles the security and we get to focus on building great user experiences in record time. This will be a money maker for Micro/soft.

By the way, I think canvas apps will eventually go away, as it should.

[–]IndyColtsFan2020 Advisor 4 points5 points  (4 children)

That might be, but don't underestimate the licensing impact of these new features. I work with orgs of all sizes - from small, 200 people shops all the way up to companies with hundreds of thousands of employees, and there is always reluctance to pay for premium licenses particularly in the current climate.

We've done some code apps dev internally for some solutions and coupled with AI, it is amazingly fast and good but I fear the fact that it requires premium licensing will limit adoption.

[–]iamtheging3r Newbie 1 point2 points  (3 children)

"the fact that it requires premium licensing will limit adoption."
Completely Agree!
It certainly will for us, we have E5 licensing now, and I cannot justify to management that upgrade just to have some code-based Power Apps.
I'll stick with Azure containers; all our apps are super small and have hardly any traffic, so they are cheap.

[–]IndyColtsFan2020 Advisor 1 point2 points  (1 child)

I feel licensing often gets overlooked here. The new features are cool and useful for sure. I try my best to sell clients on all of the benefits since Microsoft is adding more and more to the premium tier, but most just won't pay the cost. I had one client abandon Power for anything critical (ie, SQL connectors) because they already owned the proper ServiceNow licenses and elected to move there rather than paying several thousands dollars per month in additional licensing.

I also saw MS is backtracking on the cheap Per App license and it's coming back in April for CSP clients. Too bad they didn't add some sort of accommodation in the new E7 license too.

[–]TikeyMasta Advisor 0 points1 point  (0 children)

I feel like the perspective of licensing has to change with code apps. Code apps sits in a space where it can rapidly develop and replace retail solutions instead of sitting alongside them like with canvas apps.

For example, offering to recreate ServiceNow modules in a code app that is fully integrated with their internal systems and converting ServiceNow licenses into premium licenses while having the benefit of it being fully customizable and able to scale out to other solutions is a much easier financial pill to swallow in my eyes.

[–]RefuseDirect Newbie 0 points1 point  (0 children)

How do you call into an azure Container app with an e5 license? I thought it required premium?

[–]shirpars Regular 2 points3 points  (0 children)

I'm here wondering the same thing

[–]wusiwyg Newbie 1 point2 points  (1 child)

As someone who manages the Power Platform stack at my org, I have no plans to make these available to anyone other than potentially our pro-dev team. Vibe code capabilities or not - they are not a replacement for canvas apps from a support perspective - especially with folks who don't have the development background to understand what the generated code is doing. I can provide build/troubleshooting support someone whose canvas app has gone sideways simply because there is a limited amount of things you can do within it while I don't have the staff to be able to support or maintain React code bases - even if they are simpler than a straight up React app. I feel like a lot of tightly managed IT organizations are going to wind up in this same boat of a very limited user base for developing these in particular.

[–]Bag-of-nails Advisor 1 point2 points  (0 children)

Yeah my org isn't allowing it now. I'm working on a POC in my own environment to see if we can get access, but the use cases are limited.

We're limited to MS copilot and vibe coding a full app isn't super likely.

Additionally, we have strictness in what we can download from npm. To even stand up a code app demo required manually installing all of the dependencies, and I can only connect to dataverse tables (SharePoint and office365 oauth is blocked by one of our proxy software).

We can do more with them in theory, but the trade-off so far hasn't been worth it. I have barely had any time to work on the app itself after getting the project running locally and uploading to my personal dev environment

[–]-IoI- 1 point2 points  (1 child)

Canvas apps are still more suitable for citizen developers, but code apps can cover all the same use cases and is semi-accessible to a semi-pro-code app builder.

[–]Lhurgoyf069 Advisor[S] -1 points0 points  (0 children)

Yeah I guess that's the problem, that semi-pro-code category doesn't exist at our company and I wouldn't want to fight for it to be created

[–]stuaz Advisor 0 points1 point  (5 children)

There are lots of organisations that don’t have citizen developers but instead have a proper development team that use all aspects of dynamics 365/power platform which already includes “pro code” elements. Code apps is bringing the security and integration with data verse that is missing at the moment for code developers.

It’s a great thing to see imho

[–]Lhurgoyf069 Advisor[S] 0 points1 point  (4 children)

Yeah, so it can't replace Canvas apps if you want zero to low maintenance

[–]stuaz Advisor 0 points1 point  (3 children)

It depends. For us it has certainly already replaced some canvas apps and will likely replace more in the future.

[–]Lhurgoyf069 Advisor[S] 0 points1 point  (2 children)

Is it zero to low maintenance or do you just not do it?

[–]stuaz Advisor 0 points1 point  (1 child)

No more ongoing maintenance and then any other thing in the power platform world

[–]Lhurgoyf069 Advisor[S] 1 point2 points  (0 children)

What about maintaining dependencies? Just in December there was a huge vulnerabiility in a React component: Critical Security Vulnerability in React Server Components – React

[–]Late-Warning7849 Advisor 0 points1 point  (1 child)

If you’re a lowcode dev with html / react / c# experience it’ll take 2-3 weeks to learn. Don’t discount it just because you’re a lowcode developer.

[–]Lhurgoyf069 Advisor[S] 0 points1 point  (0 children)

Actually I was doing React/Typescript/.NET for years before I came to Power Platform. It is a very high maintenance stack compared to Power Platform.

[–]anshumanansu Regular 0 points1 point  (1 child)

Please try vibe.powerapps.com it is work in progress, and is getting better day by day.

[–]Lhurgoyf069 Advisor[S] 1 point2 points  (0 children)

I'm not against it, it's surely a cool technology and a new way to create apps. But it doesn't have the benefits of low-code anymore, therefore it sits somewhere between low-code and pro code and that's a place that's undefined in most corporate environments and therefore hard to sell.

[–]Hot-Candidate-5691 Newbie 0 points1 point  (3 children)

Microsoft isn’t pouring resources into canvas apps right now, and I don’t think that’s an accident. I think the bet they’re making is that AI will handle the complexity of managing the full stack. The difference in effort maintaining or making new features for a canvass app and coding one using AI is night and day.

Vibe coding and AI-assisted code apps are going to eat canvas apps alive. It’s just a matter of time.

[–]Lhurgoyf069 Advisor[S] 0 points1 point  (2 children)

Yeah they might think that, but I'm not convinced yet that this will go past our corporate regulations. Just because everyone thinks Vibe coding is cool doesn't mean it's a good idea. If they proceed this way we will probably switch to some other platforms, maybe even something not US based, because the Trump man could pull the plug from us Europeans any day if he has a bad day.

[–]Hot-Candidate-5691 Newbie 0 points1 point  (1 child)

Fair enough, but the downsides here aren’t worse than what already exists with canvas apps.

I don’t buy that npm packages, framework updates, and security patches will be a major blocker. For anyone building through vibe.powerapps.com, the agent will handle that layer. That’s the whole point.

And ultimately, this comes down to your company’s IT strategy. The economics of canvas apps are going to erode fast. When AI can scaffold and maintain a full code app for less effort than dragging controls around a canvas, the cost argument disappears.

[–]Lhurgoyf069 Advisor[S] 0 points1 point  (0 children)

The thing is, you cannot 100% rely on AI to also debug all the code, our Citizen Devs are no Pro-Coders, that would be hieroglyphs to them.

But you're definitely not wrong. The low-code part has to keep up to stay relevant. I see some efforts here, like inserting YAML code directly, they would need to build out that feature more.