# Choosing LWC, Aura or Visualforce

*Platform Developer II Study Guide · User Interface · Last updated October 16, 2026 · https://www.certifyforce.com/study-guide/platform-developer-ii/user-interface/choosing-lwc-aura-or-visualforce*

How to pick the UI technology from the requirement: Lightning web components by default, an Aura wrapper for global actions, list view actions and standard action overrides, the one-way Aura-to-LWC containment rule, Visualforce for PDF output, and Lightning Data Service versus Apex for the component's data.

- Certification: Salesforce Platform Developer II
- Exam section: User Interface
- Study guide: https://www.certifyforce.com/study-guide/platform-developer-ii

**Official exam objective:**

> Given a set of requirements, select the appropriate LWC, Aura Component, or Visualforce solution and identify its benefits.

## What the exam expects

- Recommend Lightning Web Components for new UI and name the benefits Salesforce cites over Aura and Visualforce.
- Identify the tools that don't support Lightning web components directly and wrap the component in Aura for them, including standard action overrides.
- Apply the containment rule: Aura can contain Lightning web components, never the reverse.
- Keep Visualforce where it is still the right tool, such as PDF output, and decide when to rebuild a Visualforce page instead.
- Choose Lightning Data Service or Apex for the component's data.

Key terms: **Aura wrapper** (a thin Aura component that gives a Lightning web component access to an unsupported experience or interface), **`lightning:actionOverride`** (the Aura interface that lets a component override a standard action), **interoperability layer** (what lets Aura and LWC work together in one app), **PDF rendering service** (Visualforce's `renderAs="pdf"`), **Lightning Data Service** (the managed client cache behind base record components and `lightning/ui*Api` adapters).

The PD I basics (targets, quick actions, Visualforce controllers) are in the Platform Developer guide's *Placing Lightning components, flows and Visualforce*; this unit adds the PD II trade-offs.

## Key facts

| Fact | Detail | Source |
|---|---|---|
| Default choice | LWC unless a needed feature isn't supported | [How to Choose LWC or Aura](https://developer.salesforce.com/docs/platform/lwc/guide/get-started-lwc-or-aura.html) |
| Needs an Aura wrapper | Chatter extensions, global actions, list view and related list view actions, standard action overrides | [Supported Targets and Tools](https://developer.salesforce.com/docs/platform/lwc/guide/get-started-supported-experiences.html) |
| Supported directly | Includes utility bars, flows, quick actions in Lightning Experience, custom tabs | [Supported Targets and Tools](https://developer.salesforce.com/docs/platform/lwc/guide/get-started-supported-experiences.html) |
| Override interface | Aura component implements `lightning:actionOverride` | [Override Standard Actions with Aura](https://developer.salesforce.com/docs/atlas.en-us.lightning.meta/lightning/components_using_lex_s1_action_overrides.htm) |
| Containment | Aura can contain LWC; LWC can't contain Aura | [LWC and Aura Working Together](https://developer.salesforce.com/docs/platform/lwc/guide/interop-intro.html) |
| Rebuild benefits | Responsive UX, latest WCAG, form factors, performance | [Why LWC instead of Visualforce](https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/pages_intro_when_use_lwc.htm) |
| PDF output | Visualforce `renderAs="pdf"`; `getContentAsPDF()` in Apex | [Render as PDF](https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/pages_output_pdf_renderas.htm) |
| Aura in Visualforce | Page can't then render as PDF | [Lightning Components in Visualforce](https://developer.salesforce.com/docs/atlas.en-us.lightning.meta/lightning/components_visualforce.htm) |
| Task and Event | Not supported by UI API; use Apex | [Data Guidelines](https://developer.salesforce.com/docs/platform/lwc/guide/data-guidelines.html) |

## Check yourself

- Why can't a new LWC display an existing Aura component inside its template?
- When does a Lightning web component need an Aura wrapper?
- Why is PDF output a reason to keep Visualforce?
- Which benefits does Salesforce cite for rebuilding Visualforce as LWC?

## Sources

- [How to Choose Lightning Web Components or Aura](https://developer.salesforce.com/docs/platform/lwc/guide/get-started-lwc-or-aura.html)
- [Supported Salesforce Targets and Tools](https://developer.salesforce.com/docs/platform/lwc/guide/get-started-supported-experiences.html)
- [Why Should I Use Lightning Web Components instead of Visualforce?](https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/pages_intro_when_use_lwc.htm)
- [Lightning Web Components and Aura Components Working Together](https://developer.salesforce.com/docs/platform/lwc/guide/interop-intro.html)
- [Compose Aura Components from Lightning Web Components](https://developer.salesforce.com/docs/platform/lwc/guide/interop-aura-composition.html)
- [Override Standard Actions with Aura Components](https://developer.salesforce.com/docs/atlas.en-us.lightning.meta/lightning/components_using_lex_s1_action_overrides.htm)
- [Render a Visualforce Page as a PDF File](https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/pages_output_pdf_renderas.htm)
- [Use Lightning Components in Visualforce Pages](https://developer.salesforce.com/docs/atlas.en-us.lightning.meta/lightning/components_visualforce.htm)
- [Dynamically Instantiate Components](https://developer.salesforce.com/docs/platform/lwc/guide/js-dynamic-components.html)
- [Data Guidelines](https://developer.salesforce.com/docs/platform/lwc/guide/data-guidelines.html)
- [Call Apex Methods Imperatively](https://developer.salesforce.com/docs/platform/lwc/guide/apex-call-imperative.html)

## About the full unit

The "Core concepts", "Exam traps" and "Worked scenario" sections of this unit, its 7 linked practice questions, and unlimited timed mock exams are included with the Platform Developer II pack (USD $19): https://www.certifyforce.com/practice-exams
