User Interface25% of the exam

Placing Lightning components, flows and Visualforce

Choosing between Lightning web components, screen flows, quick actions and Visualforce for a UI requirement, and configuring where each surfaces: js-meta.xml targets, record context, flow screens, Experience Builder, navigation and the Visualforce controller patterns still tested.

Official exam objective
Given a scenario, display and use custom user interface components, including Lightning components, Flow, and Visualforce.

~8 min read · 18 practice questions ·

What the exam expects

  • Choose a Lightning web component, screen flow, quick action or Visualforce page for a requirement, including when Visualforce is still the answer (PDF output, existing pages).
  • Configure .js-meta.xml so a component appears in Lightning App Builder, flow screens, record actions, the utility bar or Experience Builder, with admin-configurable properties.
  • Give a component or flow record context (recordId) and navigate from a component to records and prefilled new-record pages.
  • Pick between a standard controller, a controller extension and a standard set controller, and embed Lightning components in Visualforce.

Key terms. Target: a <target> in .js-meta.xml naming where a component can be used. targetConfig: per-target design properties. Screen quick action: an LWC shown in a modal from a record page. Controller extension: Apex that adds to a standard or custom controller. Standard set controller: the Visualforce list controller for a set of records.

Key facts

Builder visibility
Detail
isExposed true plus at least one <target>
Admin-configurable property
Detail
@api in JS plus <property> in a targetConfig; config type wins on mismatch
Record page Id
Detail
Public @api recordId, set to the 18-character Id in a record context
Experience Builder drag and drop
Detail
lightningCommunity__Page; lightningCommunity__Default for editable properties
LWC quick action types
Detail
Screen (modal) or headless (@api invoke()); record pages in Lightning Experience only
Flow on a record page
Detail
Text variable recordId, Available for input, for "Pass record ID"
Flow screen property roles
Detail
inputOnly, outputOnly, or both by default
Prefill a new record
Detail
standard__objectPage, actionName: 'new', state.defaultFieldValues
Extension constructor
Detail
One ApexPages.StandardController (or custom controller) argument
Multiple extensions
Detail
Leftmost extension's method overrides the same-named one
StandardSetController limit
Detail
10,000 records; query locator over that throws LimitException
Framework nesting
Detail
Aura can contain LWC; LWC can't contain Aura
Sources for this section (11)
  • Why does a component with `lightning__RecordPage` listed still not appear in Lightning App Builder?
  • When is Visualforce still the right choice for new work?
  • Which flow variable does the Flow component fill with the current record's Id on a record page?
  • Why can a screen quick action's `recordId` be undefined in `connectedCallback()`?

The questions are free to read. Answers with their sources and self-grading are included with the pack.

Keep reading with the Platform Developer pack

  • Core concepts
  • Exam traps
  • Worked scenario

The pack includes:

  • All 21 lessons of the Platform Developer guide, with reading progress
  • Interactive decision walks and step-by-step sequence steppers
  • Inline practice questions and one-click topic practice (18 questions for this lesson)
  • An official source cited for every claim
  • An AI tutor that answers from the guide
  • Unlimited timed practice exams

Practice for the Platform Developer exam