cancel
Showing results for 
Search instead for 
Did you mean: 

Make PowerApps exportable - extendable

Indeed, innovative non-developers have great ideas and this tool empowers them to easily build UIs with my APIApps for a backend.

But with ease of use comes limitations - inevitably many PowerApps will need functionality that the PowerApps designer cannot handle. At this point the app needs to be exported and extended using Visual studio or other dev tools.

With Siena this was somewhat available by cracking the .appx.

We need this or better for PowerApps.

joshbooker shared this idea  · 

Status: Under Review
Comments
Level 10

We hear you. We are beginning to look at the ways that a PowerApp can be extended (for example, custom controls) and exported (for example, to visual studio). We are still (and will be for a little while longer) focused on enabling non-developers to create PowerApps.

Level: Powered On

Last week you said you were looking at VS export. In yesterday's webinar there was a emphatic NO in the Q&A window "not on the roadmap". You've disenfranchised Project Siena users who wrote business to consumer in pursuit of subscription $$ for MSFT. You have the export technology and are withholding it because you think it will dilute your revenue stream I guess. Non developers COULD create apps with Project Siena and offer to consumers via Windows Store. PA is Enterprise only and deliberately locks out business to consumer. It's the "consumer" that Microsoft seems to be uninterested in on a company wide basis. 

 

So you need to clarify your position on VS export. Don't string folks along with the statement above "We are beginning to look at the ways that a PowerApp can be extended (for example, custom controls) and exported (for example, to visual studio)" and then months later state "nope, we can't make money from that so we won't be doing this". 

PowerApps Staff

Hi Barb, let me clarify our current thinking.

 

PowerApps is all about enabling a codeless line-of-business app creation experience. We will indeed provide mutliple ways of expanding the capabilities of PowerApps. Of course we will continue to add more controls and capabilities directly to PowerApps ourselves, but we will also provide other extension mechanism. Already today you can easily connect to custom APIs to have code/logic that is developed by other means from within a PowerApp, and we will at some point in the future add functionality for control extensibility as well.

 

The reason we are currently not focusing on exporting to VIsual Studio is simple: the automatically generated data flow app is not really humanly editable, so there is little point in anyone trying to add code directly; hence our other paths to provide extensibility. We don't think at the moment that it will meet a lot of use-cases for line of business apps that aren't addressed by the other mechanisms mentioned above. If you disagree, it would be great to look at specific examples to help us understand yoru use cases.

 

Whilst I am not sure how VS expert is tied to B2C use cases, for sure PowerApps is focused on line-of-business applications. If you are looking for great technology to develop consumer focused mobile applications in Visual Studio, in a way that creates stand-alone apps that can be distributed via the platform app stores to consumers, Xamarin is a great option that let's you leverage your C# skills.

Level: Powered On

Business to Consumer. Consumers don't have domain login email addresses. They do have access to the Windows Store. VS is needed to prepare an app to upload to the Store (like Project Siena supported). But you folks are going way out of your way to banish the word "consumer" from your vocabulary. I can see you want nothing to do with Business to Consumer as your subscription model generates revenue and that has to be the real reason.

 

There are other things that VS can do, add live tiles, badges, notifications. 

 

I never mentioned C# skills. Xamarin is not an option. 

 

There's no real reason not to support export to VS, other than revenue, as it was possible in Project Siena. 

Flow Staff
Status changed to: Need Info

We are still collecting business use scenarios on this topic. Please continue to provide feedback, and/or business scenarios that we would need to support. We are open to conversations on this topic. In the meantime, please review Frank's response below.

 

Thank you for your patience in this area,

 

Audrie

Level: Powered On

PowerApps is far from a no-code and low-code solution as soon as we attempt to build real-world apps. It is about time to call it for what it is, "CODE", and put some basic common sense programming support and management support in there like custom functions/macros, reuse, open to change tracing and a proper editor.

 

Tech savvy business users seemed to quite like Excel extensibility with macros in the past. PowerApps desperately needs something similar.

 

If PowerApps does not show signs of supporting extensibility and some basic professional development features soon then we will not have any further plans to use it. When you hit PowerApps restrictions and problems, users need the ability to customise and extend.

 

PowerApps Staff

HI DaveB; great to hear that you are pushing the envelope of what PowerApps can do at the moment!

 

In general we are using a multi-pronged approach to enable more complex PowerApps to be built easily:

 

1) We are working to reduce the number of times you hit occasions when you reach an edge where you need extensibility. We want to make building LOB apps as efficient and approachable as possible to PowerUsers/Citizen developers, so this is crucial. We are adding more controls, extending control configurability and make it easier to customize controls for common needs (defaults, sort order, value formatting etc)

 

2) We are improving our expression editor to be more suitable for the lengthy formulas more complex solutions require. You'll see improvements rolling out as early as the next Studio release.

 

3) Even with 1) and 2) we understand there are still places where extensibility is crucial, especially when families of PowerApps are rolled out across Enterprises (We are using PowerApps internally in Microsoft, working with internal teams that are working on apps that get rolled out across Microsoft BTW, so we are getting first-hand experience).

 

Today the primary approach is pro dev extensibility through Custom APIs. Through this extensibility you can access proprietary data sources, but it can do a lot more to enable integration of pro dev code into PowerApps solutions:

 

* We see companies standing up small web apps with REST endpoints they then use via Custom APIs that allow pro dev code data processing and presenting manipulated/processed data to the PowerApps application or take data from a PowerApp and do more complex processing before writing back to other systems.

 

* Azure Functions (https://azure.microsoft.com/en-us/services/functions/) provide an easy way of providing code (C#, F#, Node.js, Python, PHP) without having to worry about provisioning web apps etc. These functions can then be called through custom APIs from an PowerApp to provide logic that just can't be expressed well in the PowerApps expression language.

 

Have you guys tried Azure Functions through custom APIs to extend your PowerApp?
We know right now this process is still truly a Pro Dev path, we are thinking about integrating this capability more closely directly into PowerApps to make it useful to a broader audience. Do you think that would provide you what you are looking for? What would you think it misses?
 
 

Level 8

1) Custom APIs need to have 'tabular' capabilities at design time in PowerApps.

https://powerusers.microsoft.com/t5/PowerApps-Ideas/Custom-API-with-tabular-capabilities/idi-p/13394

 

2) OData Connector is needed with full support of relationships, 'tabular' designtime experience, batch-patching, etag concurrency, etc.

https://powerusers.microsoft.com/t5/PowerApps-Ideas/OData-connector-with-tabular-capabilities/idi-p/...

I just don't get why there is no love from MSFT for OData.  Simple REST doesn't cut it for data centric apps.  OData is the best way to REST for relational data.  You must be using OData for Sharepoint and SQL connectors, Why keep that from CustomAPIs?

 

3) Export and extend. (This topic) Expression language isn't enough.  There needs to be a way to add js code, controls, etc for extending the app.

 

 Please set the 'app-magic' framework free!

 

Otherwise you will not achieve any useful 'pro-dev' story with power apps. 

 

PS.. @DaveB: Hi Friend.  I'm trying to hang on here too, but cannot say there will ever be an extensibility story so, like you, not sure we can pursue further.

 

Josh

PowerApps Staff

Extending Custom APIs to be broader in scope is on our backlog, agreed that the current approach doesn't yet provide all the power needed. We'll get there!

Level: Powered On
Please give pro devs the ability to read/write the binaries -a specification document would suffice. No need to be human readable, we can easily write any algorithms to modify the file once the binary structure is released. I have numerous reasons for this request.