I see 2 issues with PowerApps that in my opinion is a blocker for usage of PowerApps in more extensive projects. There is stuff that i really like with PowerApps as well.
My background is a software developer, mostly .Net, since 2001. I have also extensive experience in implementing security solution/pen testing and integration using BizTalk.
My 2 concerns:
To tightly coupling between source and graphical elements.
Normal application life cycle is for me development, test and production. In PowerApps it is possible with different environment but not changing the data source. This means you either always are connected to the production database, or have to change the data source for each form when moving the app from environment to environment.
If we always using the production database, it's easy to mes up production data.
If we change the connection to a data source, we have to "program" after moving from one environment to another. Meaning we are not putting the tested app into production.
The not need programing requires aloooot of programing. Compared to WindowsForms or event an ASP.NET web app, the amount of properties, their name and what they do is quite similar. Also the events are quite similar to WindowsForms.
Here is my issue. Logic is placed all over, in events on form, screen, buttons, comboboxes etc.
This makes it easy to loose overview, control and makes it easier to make bugs. In comparison to a WindowsForm with it's code behind, PowerApps is messy.
Putting these issues together, makes PowerApps nothing more then a Prototyping tool not fitted for the more advanced programs my customers need.
I really hope these issues are thought trough by the PowerApps dev crew.