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?

