Instiq
Chapter 2 · Power Apps improvements and UX extension·v1.0.0·Updated 6/30/2026·~13 min

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

Key points

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.

Exam point

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.

Warning

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).

Diagram: the PCF (Power Apps component framework) lifecycle—init (initialize, once)/updateView (re-render on data/context change)/getOutputs (return values to the host)/destroy (cleanup); declare name/properties/types/resources in the manifest (ControlManifest); use Device/Utility/Web API features; distribute via package→deploy (solution)→consume for canvas/model.
Build along lifecycle

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?

Check your understandingPractice questions for Chapter 2: Power Apps improvements and UX extension

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.