Use Managed Packages to Develop Your AppExchange Solution
Managed packages are the tool that Salesforce partners use to create business apps, and
distribute their apps to customers via AppExchange. The suite of capabilities offered by managed
packages helps you distribute, license, pilot features, troubleshoot, and monetize your offerings.
A package is a container for an app that you plan to sell and distribute to Salesforce customers. You create a package, then add the features, customizations, and schema that comprise your app. Examples of metadata components you might package are:
- Apex classes and triggers
- Custom fields on standard objects
- Custom metadata types
- Custom objects
- Flows
- Lightning pages
- Page layouts
Your package can include many different metadata components, or you can package a single component, such as a flow.
Salesforce offers second-generation managed packaging (managed 2GP) and first-generation managed packaging (managed 1GP). Going forward we recommend that everyone use managed 2GPs to create new apps. For details on the advantages of using second-generation managed packaging, see Why Switch to Second-Generation Managed Packaging?