What's changed: Created PL-400 Chapter 2 (domains: Power Apps improvements + Extend UX): advanced canvas apps (complex Power Fx, component libraries, cloud flows from canvas, delegation/delegation warnings, pre-loading, Monitor), client scripting (Client API object model formContext/executionContext, OnLoad/OnChange/OnSave, Dataverse Web API, commands/buttons, navigateTo), and PCF code components (init/updateView/getOutputs/destroy, manifest, interfaces, package/deploy/consume, Device/Utility/Web API).
2.3PCF code components
Understand Power Apps component framework (PCF) lifecycle events, manifest, interfaces, package/deploy/consume, and Device/Utility/Web API features.
PCF (Power Apps component framework) builds reusable custom UI controls in TypeScript/JS, implemented along a defined lifecycle.
2.3.1Lifecycle and manifest
A PCF control follows lifecycle events: init (initialize, get the container), updateView (re-render on data/context change), getOutputs (return values to the host), destroy (cleanup). The manifest (ControlManifest) declares the control name, properties, types, and resources. Distinguish timing: init once, updateView per update, destroy on teardown.
2.3.2Interfaces and distribution
A component implements an interface like StandardControl and can use Device/Utility/Web API features (camera/geolocation, resources, Dataverse data) from its logic. When ready, distribute via package → deploy (include in a solution and import) → consume (use in a form/app). Usable in both canvas and model-driven.
Cues: "initialize, get container (once)" = init. "re-render on data change" = updateView. "return values to host" = getOutputs. "cleanup" = destroy. "declare name/properties/types" = manifest. "camera/geolocation/Dataverse" = Device/Utility/Web API features. Distribute via package→deploy→consume.
Watch the mix-ups: (1) init (once) vs updateView (per update). (2) PCF (code custom control) vs canvas component (low-code reuse). (3) Manifest declaration vs code implementation. (4) Distribute by including in a solution and deploying (not direct copy).
2.3.3Section summary
- Lifecycle = init (once)/updateView (update)/getOutputs/destroy; declare in manifest
- Use Device/Utility/Web API features from the component
- Distribute via package→deploy (solution)→consume; usable in canvas/model
Sign in to track progress — Log in.
Quick check
(just a quick review)Q1. In a PCF control, which lifecycle method is called to re-render when context/data changes?
Q2. Which PCF method is called once for initialization (e.g., getting the container)?
Q3. Which file declares a PCF component’s name, properties, types, and resources?
Q4. What is the correct flow to distribute a finished PCF code component to an environment?
Q5. Which correctly distinguishes a PCF code component from a canvas component?
Keep track of your progress
The full study guide is free to read. Sign up free to practice with the question bank, track what you have read, review your mistakes, and highlight passages.

