[#Blogged]Managed or Unmanaged Packages

MANAGED OR UNMANAGED PACKAGES
Packages come in two forms:
  • Unmanaged
  • Managed

UNMANAGED PACKAGES

Unmanaged packages are typically used to distribute open-source projects or application templates to provide developers with the rudimentary building blocks for an application.
Once the components are installed from an unmanaged the package, the components can be edited in the organization they are installed in.
The developer who engendered and uploaded the unmanaged package has no control over the installed components, and can't change or upgrade them.

MANAGED PACKAGES

Managed packages are typically utilized by salesforce.com partners to distribute and sell
applications to customers.
These packages must be engendered from a Developer Edition organization.
Utilizing the AppExchange and the License Management
Application (LMA), developers can sell and manage utilizer-predicated licenses to the app.
Manage packages are withal plenarily upgradeable. To ascertain seamless upgrades, certain
destructive changes like abstracting objects or fields may not be performed in a managed
package.
Managed packages additionally offer the following benefits:
  • Astute property auspice for Apex.
  • Built-in versioning support for API accessible components
  • Remote access support (OAuth)
  • The competency to branch and patch an antecedent version
  • The competency to seamlessly push patch updates to subscribers
  • Unique denominating of all components to ascertain conflict free installs