Why you should consider a SharePoint Framework solution for your next business automation project.

How much Power do PowerApps really have?

PowerApps are fantastic; they have a low barrier of entry, can access all types of connectors to integrate well with the entire Office365 ecosystem, can be built using a very user-friendly editor and are great for those automation projects that are very specific to your own business but too small to develop a custom application for.

However, there are a few pitfalls – the most common being attempting to design entire business applications within PowerApps; I’m sure a lot of developers who have been tasked to build complex management software in PowerApps have run into the despair that comes with the territory of trying to keep pages of spaghetti code organized on a platform originally designed for only a few lines of programming. There are many examples of complex business processes being automated purely in PowerApps, but almost every example I’ve seen comes with performance issues, maintainability problems and a general lack of cohesion in its UI. That’s not a fault of the platform or the people who are developing the solution, but rather the platform being used for scenarios it was not intended for.

Another downside of PowerApps is that most of the raw development options are abstracted away behind a layer of PowerApps specific syntax. Do you need your PowerApp to access a SharePoint API endpoint with very specific parameters to improve performance? Tough luck; even though it’s right there taunting you, PowerApps will decide what you can and can’t do with it. Of course, this is by design; PowerApps wasn’t built for developers who want control over every little knob and dial – it was intended for the ‘citizen developer’ who doesn’t necessarily want to know what API stands for.

SharePoint Framework; best of two worlds

So, PowerApps are great but have their limits – what’s the alternative? We’ve often heard that custom software solutions are expensive and don’t integrate as neatly into the Office365 ecosystem – Well, let me introduce you to the SharePoint Framework (often abbreviated to SPFx) which marries the best of both worlds and is in my (admittedly biased) opinion the best way to build complex automation solutions within Office365. SharePoint Framework is a development framework that allows developers to integrate pretty much any solution they want neatly and seamlessly into SharePoint, Teams and an increasing amount of other Office365 products. Through the use of typescript, javascript, React and other standard web development languages and frameworks, it gives a developer fine control every bit of HTML, styling and functionality within a component. It allows for the use of open-source packages that expand the available features and their ease of use greatly. Because it relies on standard practices used in the wider software industry, there are far more online resources available for SPFx than for PowerApps.

A very big advantage of SPFx solutions is that they can run on any SharePoint page, Teams tab or even (later this year) as an Outlook plugin and require no additional licenses; zero additional monthly cost to run a solution that can access any SharePoint, Graph or any external API, whether it is used by 10 or 10,000 users.

Another of the most important aspects is that using development best practices allows for much more maintainable code. Let’s say you have a medium-sized solution which contains a few screens, each of which has a table that displays data from a different SharePoint list. One day, the client requests that each of these tables should have the additional feature of displaying a filter menu whenever the user clicks on a column header. In PowerApps, this would usually mean editing every screen separately, with hours of error-prone copy/pasting of code. Meanwhile, in SPFx we could easily use the power of React to make the table into a reusable component so that we only have to implement the feature once. PowerApps does contain the option to create reusable components as well, but that goes way beyond the general skill level of the ‘citizen developer’ and if you’re going into lower-level code anyway, you might as well choose the platform with more options.

And last but not least: Microsoft assures us that this is the way to go when it comes to customizing and extending Office 365 functionality:

“The SPFx is the recommended SharePoint customization and extensibility model for developers. Due to tight integration between SharePoint Online, Microsoft Teams, and Microsoft Viva Connections, developers can also use SPFx to customize and extend all of these products”

Comparison

PowerAppsSPFx
UI CustomizationXX
Low/no codeX 
Rapid developmentX 
WYSIWYG UI editorX 
NPM packages X
Low-level code (html, css, typescript) X
Call any API (without additional license) X
Maintainable code X
Easy deployment X
No additional monthly cost X
Industry standards X

Conclusion

Like I said, PowerApps are great and have a lot of strengths and are a fantastic solution in many use-cases and is very user-friendly in that it allows non-professional developers to automate scenarios on their own. However, if you’re already outsourcing the development of a PowerApp to some outside contractor anyway; consider opting for a SharePoint Framework solution instead. It’ll very likely be more maintainable, look better, be more customizable, perform better, be cheaper to run (no additional licenses necessary!) and have features not possible in PowerApps.

Let me stress that while I have many years of experience with both platforms under my belt and that for me as a professional developer one is the preferred option, other developers may have a different experience. This article is not intended as a put-down for PowerApps but to highlight the many strengths of the SharePoint Framework, which is often overlooked as an approach to create automation solutions for Office365.

For your next automation project in the Office365 ecosystem, why not give SharePoint Framework a shot? Please feel free to reach out with any comments or questions.

No responses yet

Leave a Reply

Your email address will not be published. Required fields are marked *