Canvas vs Model-Driven
Canvas for custom UX. Model-driven for standard CRUD. Canvas apps handle mobile, tablet, and ‘drop-in kiosks’ — scenarios where standard D365 UI doesn’t fit.
Connectors
Dataverse connector is the native path for D365 data. Other connectors (SharePoint, SQL, Graph API) for non-D365 sources. One canvas app, multiple data sources.
Form vs Gallery
Forms for record detail editing. Galleries for lists. EditForm + SubmitForm for writes. Galleries can bind to a data source; filter and sort in formulas.
Performance
Delegation warning: not all operations delegate to the backend. A Filter() that runs locally on 500 rows works; 500,000 rows does not. Design around delegable functions.
Embedding in Model-Driven
Canvas apps embed in model-driven app forms via custom control. Useful for hybrid experiences — standard form with a canvas section for custom UX.