Shopify announced theme app extensions for the Online Store 2.0 in the Unite 2021 Event.

Theme app extensions help you simplify app integrations, build features into any theme, and host assets. They also minimize support debt by reducing the risk of unintended impacts to storefronts and removing your app when uninstalled.

Online Store 2.0 theme app extensions are the future of how apps will be built on Shopify and so be sure to explore supporting app blocks as well as legacy themes this summer to ensure your app is equipped for this exciting change.

Check a quick video about how it works –

Check out how you can convert your online store to a revenue machine with this Shopify Growth Toolkit.

Below are the quick questions from app developers and answers from the Shopify team to give more details about this feature and how it will help merchants & app developers:

QUESTION: Is the theme kit going away?

ANSWER: There are no plans to deprecate the theme kit but Shopify CLI replaces Theme Kit for most Shopify theme development tasks. Check out the docs here https://shopify.dev/themes/tools/cli#choosing-between-shopify-cli-and-theme-kit

QUESTION: Is there a hard limit on one online store extension per app? It looks like only one can be created and it cannot be removed, is this correct?

ANSWER: That’s correct. Since a theme app extension can contain multiple blocks and snippets within it, you don’t need more than one. You cannot delete a theme app extension, but you can unpublish it if you don’t need it anymore.

QUESTION: “For an app using App Extension, does the theme need to allow that or it’s on Shopify end and it will be available for everyone no matter the theme?”

ANSWER: Theme has to support it. There is an API providing capabilities to check for support. More on the topic can be found here: https://shopify.dev/apps/online-store/verify-support

QUESTION: “So merchants will not be able to translate their content directly in the theme editor, and will still need to rely on a 3rd party app? Anything on the roadmap in regards to that?”

ANSWER: “Merchant won’t be able to translate directly in the editor. That’s a great point, however. We can’t give any more information on our future roadmap yet but we’ll keep track of this issue

QUESTION: Does that mean app blocks won’t work yet for most merchants?

ANSWER: Correct. This is still in developer preview. It will be available to all merchants later this summer.

QUESTION: “can the Theme App Extensions be added automatically(the way Script Tags are) or does the merchant always have to go to the theme editor and add them?”

ANSWER: “We are providing a way to deep-link to the theme editor, so apps can be enabled/added for merchants this way. Merchants will have to save the enabled app in the theme editor”

QUESTION: Is there a way to add an App Block to each item in a collection? For example, to add the review stars for a product for each product in a collection view. I watched the video and read the docs and the review app example doesn’t seem to support this.

ANSWER: Support for App Blocks is up to the section that contains them. Currently, there is not a good way to add an App Block into a section displaying a collection of products where you want a new instance of the block per product. We’d love to hear more about your use cases!

QUESTION: “What about apps that we manually inserted on our theme and are currently subscribed to? Will those apps and the coding remain the same?”

ANSWER: “Yes! Current apps that have been added to the theme manually remain the same unless the merchant changes theme or uninstalls the app.”

QUESTION: “Are App embed blocks included in the theme through {{ content_for_header }}, or are they inserted at a different point?”

ANSWER: “App Embeds can be injected in the head and/or the body. We use a different mechanism to include app embeds”

QUESTION: “Are scripts being deprecated?”

ANSWER: We believe theme app extensions are a better alternative to the ScriptTag API. We have no firm date for when we plan on deprecating it yet. If you have a workflow in mind that isn’t handled by Theme App Extensions, we’d love to hear about it!

QUESTION: “With script tags, we can manage the deployment/enablement of “body” level scripts inside of our app. Is there a mechanism for this with app extensions or must they be turned on in the theme editor?”

ANSWER: “Currently there is no way to enable app embeds/app blocks outside of the theme editor. Instead, we are providing a way to deep-link apps in the theme editor, so merchants can enable/activate and preview apps before saving and publishing. Here the relevant docs: https://shopify.dev/apps/online-store/theme-app-extensions/extensions-framework#simplified-installation-flow-with-deep-linking”

QUESTION: I want to make sure I’m understanding app blocks correctly. Right now I’m using the asset API to add some code to the product pages for an app I’m working on. One current challenge I have is that the code in the different themes is slightly different, and I need to reference some part of the existing theme code to see where I’m going to add my code snippet. So basically I would need to know all of the different theme codes to make sure that the part where I adjust the asset code works for all themes. I’m seeing the app block functionality as a possible workout for that, because if I understand correctly a merchant can just drag and drop my app block code to their desired location from the UI where it lets them customize themes. Is this correct?

ANSWER: Great question! An app block would show up for all sections that support blocks of type @app and themes that support JSON templates. In the schema, you can specify which templates you would like your app blocks to be rendered on. So correct, the merchant will be able to add your app block, reorder and remove from the theme editor. You can find out more about app blocks here: https://shopify.dev/apps/online-store/theme-app-extensions/extensions-framework#app-blocks

QUESTION: “Also, when can we play with the new meta fields? I think these will be needed for a new app we are building.”

ANSWER: The new meta fields features and UI are available in the developer preview today. :slight_smile: Let us know if you have any specific questions from integration from an app perspective. Also, check more detail here online-store-theme-development if you have any questions around theme integration with meta fields.

QUESTION: “For our implementation, the ScriptTag’s are used not as a part of any theme-based app but to help implement tracking needed for things like advertising. If we need to make a Theme App, then can the theme app consist of no UI code?”

ANSWER: Great question Josh, app embed blocks are the perfect candidate for this use case. No UI needed, app embed blocks will allow you to inject JS or other assets in the head/body.