Was this article helpful?
Thanks for your feedback
Apps are the future of integrating and implementing third-party solutions within your CMS. In comparison to extensions, apps offer advanced functionalities as they extend all the features of your current extensions and more to provide a seamless integration with your favorite third party platforms.
Here are a few important points that explain how apps can prove beneficial over extensions.
Note: We strongly recommend you to create and use Contentstack Marketplace apps instead of extensions.
Refer to our detailed guide on how to convert extensions into Marketplace apps.
Now, let’s understand some core differences between Apps and Extensions.
The following table lists down the main differences between App and Extension:
App | Extension |
An app is a single entity that can be reused in multiple stacks or organizations with just one click. | An extension can only be used for a specific stack. This means that if you want to use a specific extension for multiple stacks, you need to create the same extension in all the stacks where you need it. |
An app is a single entity that can be reused in multiple stacks or organizations with just one click. | An extension is scoped to a stack. Needs to be replicated across stacks to reuse |
app-sdk is newer than extension-sdk and has comparatively more features. | extension-sdk has limited capabilities. |
You can build a config page for your app and pass the configurations in it. | You can configure an extension through JSON. |
You can open an app in a configuration window using your app’s UI Locations feature during each installation. | You can open an extension in a pop-up window using a separate URL that you can provide in config while creating your extension. |
Here’s an example of how you can use app-sdk and initialize it: npm install @contentstack/app-sdk import ContentstackAppSdk from ‘@contentstack/app-sdk’; ContentstackAppSdk.init().then(function (appSdk) { // Your UI logic goes here }); | Here’s an example of how you can use extension-sdkand initialize it: ContentstackUIExtension.init().then(function (extension) { // Your UI logic goes here }) |
Additional Resource: Refer to our App Development pages, to learn how to build an app for Contentstack Marketplace.
Was this article helpful?
Thanks for your feedback