Edit

Share via


Power Apps component framework overview

Power Apps component framework enables professional developers and app makers to create code components for model-driven and canvas apps. Use these code components to enhance the user experience for users working with data on forms, views, dashboards, and canvas app screens. For example, you can:

  • Replace a column on a form that displays a numeric text value with a dial or slider code component.
  • Transform a list into an entirely different visual experience bound to the dataset, like a Calendar or Map.

Important

  • Power Apps component framework isn't supported for on-premises environments.

How is it different from web resources?

Unlike HTML web resources, code components render as part of the same context and load at the same time as any other components. This approach provides a seamless experience for the user.

Create code components that you can use across the full breadth of Power Apps capabilities. Reuse these components many times across different tables and forms.

Developers can bundle all the HTML, CSS, and TypeScript files into a single solution package file to move across environments. They can also make it available via AppSource.

Advantages

  • Access to a rich set of framework APIs that expose capabilities like component lifecycle management, contextual data, and metadata
  • Seamless server access via Web API; utility and data formatting methods; device features like camera, location, and microphone; and easy-to-invoke user experience elements like dialogs, lookups, and full-page rendering
  • Support for modern web practices
  • Optimized for performance
  • Reusability
  • Ability to bundle all files into a single solution file
  • Ability to handle being destroyed and reloaded for performance reasons while preserving state

Licensing

Power Apps component framework licensing requirements align with existing connectors and components. They're based on the type of data and connections you use in your app. For more information, see Power Apps pricing. To align with the licensing requirements, classify code components into two types:

  • Code components that connect to external services or data directly through the user's browser client and not through connectors are premium. When these components are used in an app, the app becomes premium, and end-users need Power Apps licenses.
  • Code components that don't connect to external services or data. When these components are used in an app that uses standard features, the app remains standard, and end-users need at least an Office 365 license. For more information, see Power Apps pricing.
  • Code components can be declared as premium components by adding a <external-service-usage> node to the component's manifest file with all the external service domains this component is connecting to.
      <external-service-usage enabled="true">
       <domain>www.microsoft.com</domain>
      </external-service-usage>
    

Note

If you're currently using code components in model-driven apps connected to Microsoft Dataverse, end users need Power Apps licenses.

What are code components?
Code components for canvas apps
Create and build a code component
Learn Power Apps component framework
Use code components in Power Pages