In a recent ESPC webinar, Scott Durow shared his expert insights on working with PCF controls. Read on to get a summary of his most important points.
Scott’s expert experiences provide valuable guidance for anyone who is learning to develop their own PCF components and highlights things to be aware of if you’re working with other people, like developments teams, partners, or ISVs.
By using custom PCF controls for high-traffic and high-value user interfaces, being on track with efficiency updates like virtual controls, and evaluating the total cost of ownership of third-party vs in-house development, app makers can effectively harness the power of PCF controls and create deeply tailored and efficient UI in Power Apps.
Summary:
- Know when to use PCF controls – choose high-frequency and high-value
- Use virtual PCF controls to boost your app performance
- Understand your data binding method
- Use Fluent 9 to align with the rollout across Power Apps
- Balance customization and maintenance
- Don’t skip performance testing
Know when to use PCF controls – choose high frequency and high value
PCF controls are the key to providing Power Apps with highly customized user interface features, enabling developers to create rich, custom UI features.
Scott says app makers ought to discern whether they actually need them.
He suggests using native functionality within Power Apps before reaching for PCF controls. “Push it as far as you possibly can. See how far you can possibly get with the native functionality that you get in Power Apps and Power Pages; it is such a rich environment.”
He thinks that PCF controls should be used strategically – in high-traffic functionality and high-value user experiences. Their greatest value comes in high-frequency tasks where efficiency is crucial.
“There might be one area in your app where you’re editing, updating, or visualizing data multiple times a day, and the efficiency of using that user interface is key,” he explained.
Custom PCF controls are game changers that lead to better user adoption and satisfaction.
Watch the full webinar here
Use PAC CLI to enable PCFs in Canvas apps
Before using PCF controls in Canvas apps, you must enable them in the Power Platform admin center.
“Instead of doing it manually, you can install the Power Platform tools inside VS code and you can use Pack Env command to make an automated script to do it for every new environment,” said Scott.
This method ensures consistency, reduces errors, and speeds up deployment, especially in enterprise environments.
Use virtual PCF controls to boost your app performance
One of the key technical advancements Scott discussed was the introduction of virtual PCF controls. These controls ensure more efficient rendering and quicker apps.
“Virtual controls share React and Fluent libraries, so they’re loaded only once because they’re part of the platform anyway, and each code component reuses those React and Fluent libraries,” says Scott.
Previously, PCF controls required each component to include its own copy of React or Fluent UI, slowing down performance. Virtual PCF controls eliminate this issue by allowing all components to share a single instance of these libraries. This reduces load times and memory usage, making applications more responsive.
“You can use a framework parameter from a shared library to automatically create the scaffolding. Rather than returning HTML from your component, you would return a React component – which is a more modern way of working,” he added.
Virtual PCF controls were in preview and have now reached general availability. Watch the full webinar to get Scott’s full breakdown.
Understand your data binding method
When you need complete control over data handling in a PCF control, or when using one from someone else, understanding its data binding method is key.
By default, Power Apps and Power Pages handle two-way data binding, automatically syncing data between Dataverse and other connectors.
For greater control, developers can bypass this and call the Dataverse Web API, enabling precise CRUD operations. “If you have an application where performance is really important, and you want to be very clear about how you get data – and how you update data – then the web API then gives you this ability.”
Whether building or using a PCF control, knowing if it relies on automatic binding or API calls is essential for performance and maintainability.
Use Fluent 9 to align with the rollout across Power Apps
Scott highlighted the importance of aligning PCF controls with Power Platform’s Fluent UI standards to maintain a consistent look and feel.
“With Fluent version 9 rolling out across Power Apps, it’s important to ensure that your PCF controls use the latest Fluent styles to look native inside the platform.”
Balance customization and maintenance
Scott stressed the need to weigh the benefits of building custom PCF controls against the total cost of ownership. He warned that reusable components require ongoing maintenance and compatibility testing.
“Every time you reuse something, it introduces an additional cost… if you’re going to build a reusable component, then you have to take on that responsibility of making sure that you’re going to test it every time.”
For organizations considering third-party or open-source PCF controls, Scott advised due diligence. While resources such as the PCF Gallery provide many examples and open-source components, they often lack official support, required for enterprise apps. Maintained third-party libraries provide more support and handle the maintenance.
“PCF Gallery is a great way to learn because most controls link to GitHub repositories where you can see the source code. But remember, open-source PCFs often don’t come with official support, so you’re on your own if something breaks.”
You’re going to have to figure out where you sit in this spectrum of ownership you’re going to have to take– you can build your own PCF and manage the testing, regression testing and maintenance. You can use PCFs from Microsoft, or paid libraries, like Resco Power Components, which gives you more support and handles the testing and maintenance for you, or you can use open source, but make sure you’re checking the code and that you generally know what you’re doing.
When deciding, it is important to understand the implications and the total cost of ownership.
Don’t skip performance testing
Performance testing is important particularly when deploying PCF controls in large-scale applications.
“In development, where we’ve got 10 test records, it’s okay… but how many records do we have in production? We have 10,000 records. How is it going to work for that?”
Thinking about this early on is essential for ensuring that PCF controls function smoothly under real-world conditions.
Final thoughts
PCF controls have come a long way. They started out in model-driven apps and then spread throughout the Power Platform. They are now an integral part of the platform.
“Before PCF, the only way was to embed web resources and use iframes. There was always a glaring difference between the user and the interface you would get. The great thing is, with PCF, the users don’t see a difference. The job is so much easier now and you can make things look amazing. The sky is the limit. I think that’s the real power of PCF,” says Scott.
And that’s it! You made it to the end of the article!
This was just a summary of what Scott, Michal, and Jakub discussed in the webinar! You can watch the webinar on ESPC’s YouTube channel to get Scott’s insights in full.
About Scott Durow

Scott Durow is a committed and passionate software architect who has been deeply involved in developing and evolving the Power Apps Component Framework (PCF) controls and is a leading authority in this domain.
He is a Power Platform Advocate at Microsoft. Prior to joining Microsoft, he was a Microsoft MVP for 11 years and worked as a solution architect and consultant on enterprise implementations.
You can learn more from Scott on his YouTube channel or on his podcast XrmToolCast where he covers all topics related to Power Platform development.
