Powerapss vs SPFX

%3CLINGO-SUB%20id%3D%22lingo-sub-165574%22%20slang%3D%22en-US%22%3EPowerapss%20vs%20SPFX%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-165574%22%20slang%3D%22en-US%22%3E%3CP%3ESo%20I%20spent%20the%20last%20week%20looking%20at%20PowerApps.%20Someone%20needed%20an%20IPhone%20app%20to%20record%20some%20safety%20info%20at%20one%20of%20our%20locations.%20In%20the%20course%20of%20a%20week%20I%20was%20able%20to%20cobble%20together%20a%20nice%20app%20that%20let%20them%20record%20the%20info%20on%20their%20iPhones%20and%20save%20it%20to%20a%20sharepoint%20site%20%2C%20along%20with%20photos%20(thanks%20to%20Paul%20Culmsee).%3C%2FP%3E%0A%3CP%3EI%20have%20also%20been%20working%20with%20SPFX%20since%20it%20was%20in%20preview%20and%20have%20developed%20production%20applications%20using%20that%20technology.%20These%20took%20anywhere%20from%205%20months%20(when%20I%20was%20learning)%20to%20a%20few%20weeks%2C%20depending%20on%20the%20complexity.%3C%2FP%3E%0A%3CP%3EBoth%20these%20platforms%20are%20changing%20so%20quickly%20that%20a%20person%20could%20spend%2040%20hours%20a%20week%20just%20keeping%20up%20on%20the%20latest%20developments%20in%20the%20platforms.%3C%2FP%3E%0A%3CP%3EIs%20there%20any%20guidance%20available%20on%20when%20to%20use%20which%20technology%3F%20Apart%20from%20time%20to%20develop%20(which%20PowerApps%20wins)%20there%20are%20other%20concerns%20(such%20as%20maintainability%2C%20ALM)%20which%20SPFX%20wins.%20And%20these%20platforms%20change%20so%20often%20that%20it%E2%80%99s%20impossible%20to%20know%20which%20platform%20is%20the%20right%20solution%20for%20a%20given%20problem%20at%20any%20point%20in%20time.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-165574%22%20slang%3D%22en-US%22%3E%3CLINGO-LABEL%3EMicrosoft%20Flow%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EPowerApps%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3ESharePoint%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-167546%22%20slang%3D%22en-US%22%3ERe%3A%20Powerapss%20vs%20SPFX%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-167546%22%20slang%3D%22en-US%22%3E%3CP%3EGreat%20question%20Russell%2C%20and%20one%20that%20I%20am%20grappling%20with%20too.%20Although%20I%20have%20been%20a%20developer%20most%20of%20my%20working%20life%2C%20I%20can%20appreciate%20the%20massive%20time%20savings%20and%20functionality%20that%20PowerApps%2FFlow%2FAzure%20serverless%20bring%20to%20the%20table.%20%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EThe%20ALM%20story%20for%20PowerApps%20is%20getting%20better%2C%26nbsp%3Bwith%20the%20ability%20to%20export%20and%20import%20PowerApps%20and%20settings%20between%20environments%20manually%20or%26nbsp%3Bby%20using%20PowerShell%20(this%20may%20be%20in%20preview).%20In%20theory%2C%20you%20could%20set%20up%20a%20CI%2FCD%20approach%20with%20PowerApps%20too%20if%20the%20PowerShell%20options%20become%20GA.%26nbsp%3BThe%20source%20control%20integration%20and%20versioning%20with%20PowerApps%2C%20however%2C%20is%20still%20a%20drawback%20IMHO.%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-167523%22%20slang%3D%22en-US%22%3ERe%3A%20Powerapss%20vs%20SPFX%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-167523%22%20slang%3D%22en-US%22%3E%3CP%3EThat's%20a%20great%20but%20hard%20to%20answer%20question.%20My%20take%20on%20it%20(so%20far)%20having%20working%20with%20all%20of%20them%20is%20that%26nbsp%3Ball%20have%20massive%20potential%2C%20but%20all%20have%20inherit%20constraints.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ESPFx%20has%20the%20most%20power%20and%20flexibility%2C%20but%20the%20amount%20of%20boilerplate%20code%20you%20have%20to%20do%20is%20massive.%26nbsp%3BI%20don't%20like%20boilerplate%20code%2C%20and%20it%20also%20keeps%20SPFx%20in%20the%20realm%20of%20the%20developers%2C%20so%20SPFx%20will%20never%20be%20something%20I%20will%20be%20that%20good%20at.%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ESo%20I%20gravitated%20to%20PowerApps%2FFlow%20and%20Azure%20functions%20(this%20is%20huge)%20and%20I%20am%20surprised%20at%20how%20far%20you%20can%20go.%20Additionally%2C%20PowerApps%2C%20like%20InfoPath%20is%20easy%20for%20non%20hardcore%20developers%20to%20get%20into%20and%20do%20some%20very%20good%20apps%20quickly.%20The%20same%20goes%20for%20Flow.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EWhile%20I%20am%20not%20directly%26nbsp%3Banswering%20your%20question%2C%20one%20useful%20approach%20to%20take%20to%20PowerApps%20and%20Flow%20is%20to%20assume%20they%20are%20a%20means%20to%20a%20bigger%20end.%20In%20other%20words%2C%20use%20them%20to%20rapidly%20prototype%20and%20get%20solutions%20into%20the%20hands%20of%20your%20users.%26nbsp%3BI%20did%20one%20PowerApp%20for%20a%20client%20so%20we%20could%20get%20rapid%20feedback%20on%20functionality%2C%20which%20my%20colleague%20then%20used%20as%20a%20starting%20point%20to%20make%20some%20SPFx%20components%20to%20do%20it%20with%20the%20full%20power%20and%20flexibility%20of%20React%20and%20Redux.%20Other%20PowerApps%20remained%20PowerApps%20because%20they%20did%20what%20was%20needed.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3ESo%20if%20I%20bring%20up%20PowerApps%2FFlow%20into%20the%20conversation%2C%20if%20the%20organisation%20is%20conservative%20and%20risk%20averse%2C%20I%20frame%20it%20as%20a%20risk%20reduction%2Fpiloting%20exercise.%20%22we%20all%20know%20users%20don't%20know%20what%20they%20want%2C%20this%20reduces%20the%20problem%20of%20months%20of%20work%20to%20deliver%20the%20wrong%20thing%22.%20But%20if%20the%20organisation%26nbsp%3Btakes%20its%20cues%20from%20the%20world%20of%20startups%20and%20design%20thinking%2C%20then%20PowerApps%20is%20your%20dream%20tool%20towards%20an%26nbsp%3Bminimum%20viable%20product%2C%20so%20I%20frame%20it%20as%20an%20innovation%2Ffail-forward%20experiment%20platform...%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-165615%22%20slang%3D%22en-US%22%3ERe%3A%20Powerapss%20vs%20SPFX%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-165615%22%20slang%3D%22en-US%22%3EI%20think%20that%20guide%20does%20not%20exist%20and%20I%20agree%20it%20would%20be%20great%20to%20have%20it.%20Hope%20someone%20from%20the%20PowerApps%20or%20SharePoint%20Team%20thinks%20this%20guide%20would%20be%20really%20worth%20too%3C%2FLINGO-BODY%3E
Frequent Contributor

So I spent the last week looking at PowerApps. Someone needed an IPhone app to record some safety info at one of our locations. In the course of a week I was able to cobble together a nice app that let them record the info on their iPhones and save it to a sharepoint site , along with photos (thanks to Paul Culmsee).

I have also been working with SPFX since it was in preview and have developed production applications using that technology. These took anywhere from 5 months (when I was learning) to a few weeks, depending on the complexity.

Both these platforms are changing so quickly that a person could spend 40 hours a week just keeping up on the latest developments in the platforms.

Is there any guidance available on when to use which technology? Apart from time to develop (which PowerApps wins) there are other concerns (such as maintainability, ALM) which SPFX wins. And these platforms change so often that it’s impossible to know which platform is the right solution for a given problem at any point in time.

3 Replies
I think that guide does not exist and I agree it would be great to have it. Hope someone from the PowerApps or SharePoint Team thinks this guide would be really worth too

That's a great but hard to answer question. My take on it (so far) having working with all of them is that all have massive potential, but all have inherit constraints.

 

SPFx has the most power and flexibility, but the amount of boilerplate code you have to do is massive. I don't like boilerplate code, and it also keeps SPFx in the realm of the developers, so SPFx will never be something I will be that good at. 

 

So I gravitated to PowerApps/Flow and Azure functions (this is huge) and I am surprised at how far you can go. Additionally, PowerApps, like InfoPath is easy for non hardcore developers to get into and do some very good apps quickly. The same goes for Flow.

 

While I am not directly answering your question, one useful approach to take to PowerApps and Flow is to assume they are a means to a bigger end. In other words, use them to rapidly prototype and get solutions into the hands of your users. I did one PowerApp for a client so we could get rapid feedback on functionality, which my colleague then used as a starting point to make some SPFx components to do it with the full power and flexibility of React and Redux. Other PowerApps remained PowerApps because they did what was needed.

 

So if I bring up PowerApps/Flow into the conversation, if the organisation is conservative and risk averse, I frame it as a risk reduction/piloting exercise. "we all know users don't know what they want, this reduces the problem of months of work to deliver the wrong thing". But if the organisation takes its cues from the world of startups and design thinking, then PowerApps is your dream tool towards an minimum viable product, so I frame it as an innovation/fail-forward experiment platform... 

 

Great question Russell, and one that I am grappling with too. Although I have been a developer most of my working life, I can appreciate the massive time savings and functionality that PowerApps/Flow/Azure serverless bring to the table.  

 

The ALM story for PowerApps is getting better, with the ability to export and import PowerApps and settings between environments manually or by using PowerShell (this may be in preview). In theory, you could set up a CI/CD approach with PowerApps too if the PowerShell options become GA. The source control integration and versioning with PowerApps, however, is still a drawback IMHO.