Instiq
Chapter 2 · Power Apps improvements and UX extension·v1.0.0·Updated 6/29/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