Choosing Between PCF Controls and HTML Web Resources for Microsoft Dynamics 365
- Feb 2
- 3 min read
Updated: Feb 16
If you’ve spent any real time customising Dataverse forms, you’ve almost certainly faced this question:
Should I use a PCF control or an HTML web resource?
Both let you embed custom UI and logic into model-driven apps. Both can solve real problems. And both can absolutely ruin your solution if chosen for the wrong reasons. Having built (and supported) production solutions with both approaches, let’s break this down from a practical, real-world Dynamics 365 perspective.
Understanding Your Options
HTML Web Resources
The “classic” approach.
HTML + JavaScript + CSS
Embedded via an iframe on a form
Full control of the DOM
Minimal framework constraints
Power Apps Component Framework (PCF)
The modern, first-class citizen.
TypeScript-based component model
Deep integration with Dataverse and the form lifecycle
Renders directly in the form (no iframe)
Supported and extensible going forward
At a high level: HTML web resources are flexible and fast to start; PCF is structured and future-proof.
HTML Web Resources: Strengths and Trade-Offs
Why People Still Use Them
HTML web resources are popular for a reason:
Low barrier to entry: If you know JavaScript, you can ship something quickly.
Total UI freedom: Want a complex layout, third-party library, or wild styling? No problem.
Great for prototypes and internal tools: Especially when timelines are tight.
They’re also incredibly useful for:
Custom visualizations
External integrations
Embedded widgets
Legacy customizations
The Real Problems (That Show Up Later)
This is where teams get burned.
Iframe isolation:
- No native awareness of the form context.
- Communication relies on parent.Xrm hacks or postMessage.
Manual data handling:
- You must read, write, and sync data yourself.
Fragile over time:
- Easy to break during platform updates.
- Harder to refactor or scale cleanly.
Not the future:
- Still supported, but clearly not where Microsoft is investing.
HTML web resources age badly unless they’re simple and tightly controlled.
PCF Controls: Why They’re Usually the Right Answer
What PCF Gets Right
PCF was designed specifically to fix the pain points above.
Native Dataverse integration:
- Automatic binding to fields and datasets.
- Built-in awareness of form state.
No iframe:
- Better performance.
- Cleaner UI consistency.
Strong lifecycle model:
- Init, update, destroy.
- Predictable rendering behaviour.
Enterprise-ready:
- Testable, version-able, maintainable.
- Plays well with ALM and CI/CD.
From a long-term perspective, PCF is simply safer.
Where PCF Can Feel Heavy
That said, PCF isn’t free magic.
Steeper learning curve:
- TypeScript, build pipelines, tooling.
More upfront effort:
- Overkill for very small UI tweaks.
Framework constraints:
- You work with the platform, not around it.
PCF shines when the component has a real lifecycle, data dependency, or future roadmap.
Side-by-Side Comparison
Area | PCF | HTML Web Resource |
Form integration | Native | Iframe-based |
Data binding | Automatic | Manual |
Performance | Better | Depends |
UI flexibility | Moderate | Very high |
Maintainability | High | Medium to low |
Learning curve | Steeper | Easier |
Long-term support | Strong | Stable but legacy |
When You Should Use HTML Web Resources
Despite the PCF push, HTML web resources still have a place. Use them when:
You need full control of layout and styling.
You’re embedding third-party UI frameworks.
The component is read-only or loosely coupled.
You’re building a quick proof of concept.
The customisation has a short lifespan.
Just be honest about the trade-offs and document aggressively.
When PCF Is the Clear Winner
Choose PCF when:
The control interacts with Dataverse data.
You need field-level binding.
The UI must respond to form state changes.
You care about long-term maintainability.
The solution will be reused or scaled.
You’re building something that feels native.
If the component is core to the user experience, PCF should be your default choice.
The Rule of Thumb I Give Teams
If it feels like part of the form, use PCF. If it feels like a mini app inside the form, consider HTML.
And if you’re starting a new strategic solution today? PCF is almost always the right investment.
Final Thoughts
HTML web resources got us far—and they still solve specific problems well. But PCF represents a clear shift in how Microsoft expects us to extend Dataverse going forward.
The smartest teams aren’t dogmatic. They:
Use PCF by default.
Use HTML web resources intentionally.
Understand the cost of shortcuts.
Choose the tool that matches the lifecycle of the solution, not just the speed of the first release.
Conclusion: Making the Right Choice
In the end, the choice between PCF and HTML web resources boils down to your specific needs. Are you looking for flexibility and speed? HTML web resources might be your best bet. But if you're focused on long-term stability and integration, PCF is the way to go.
So, which will you choose? The future of your Dynamics 365 solution depends on it!




Comments