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.1Advanced canvas apps
Understand complex Power Fx, component libraries, calling cloud flows from canvas, delegation, and troubleshooting/perf with Monitor.
Making canvas apps production-grade hinges on performance and reuse. Understanding delegation in particular drives responsiveness.
2.1.1Power Fx and component libraries
Express complex logic with Power Fx formulas (declarative), and bundle shared UI into component libraries for reuse across apps. When server processing or integration is needed, call a Power Automate cloud flow from the canvas app and receive results.
2.1.2Delegation and performance
Delegation pushes operations (filter/sort) to the data source so fewer rows transfer to the client. Using non-delegable functions on large data triggers a delegation warning and only the top few hundred rows process (default 500–2000). Choose delegable functions/sources, and if needed pre-load data at app start to improve perceived performance. Delegation and pre-loading differ in purpose (server-side processing vs load at start).
2.1.3Monitor and troubleshooting
Monitor tracks operations/network/formula evaluation in real time for canvas/model-driven apps to pinpoint slow steps and errors. For model-driven, optimize form/view loading. Remember "visualize app behavior to isolate issues" = Monitor.
Cues: "push ops to the data source, fewer rows" = delegation. "non-delegable × large = only top rows" = delegation warning. "load data at start" = pre-load. "reuse shared UI across apps" = component library. "track ops/formula/network to isolate" = Monitor.
Watch the mix-ups: (1) Delegation (server processing) vs pre-loading (load at start). (2) Ignoring delegation warnings drops rows at scale. (3) Monitor measures/visualizes, it does not auto-fix. (4) Component libraries (canvas reuse) vs PCF (code controls) differ.
2.1.4Section summary
- Delegation pushes processing to the source; mind delegation warnings; pre-load loads at start
- Reuse via Power Fx and component libraries; call cloud flows from canvas
- Use Monitor to track ops/formula/network and isolate slowness/errors
Sign in to track progress — Log in.
Quick check
(just a quick review)Q1. On a large data source, you want filtering executed at the source to minimize rows sent to the client. Best concept?
Q2. What problem occurs when using a non-delegable function on large data?
Q3. You want to track ops/formula/network in real time for canvas/model-driven apps to find slow steps. Best?
Q4. You want to reuse common UI controls/logic across multiple canvas apps. Best?
Q5. Which correctly distinguishes delegation from pre-loading?

