2022年12月時点のShopifyアプリ開発ベストプラクティス Tsun Inc.

Shopify app development best practices as of December 2022

小笠原 京平

I'm Ogasawara, CTO of Tsun Inc.!
Recently, I have been developing Shopify apps and themes.
In this blog, I will share information that is useful for Shopify development.
I hope it will be helpful for Shopify engineers!

Introduction

Tsun started developing Shopify apps in October!
We released one simple app in November and developed a second app, an app that automatically creates a table of contents.

In December 2022, we released a Shopify app that can automatically generate a table of contents.
It makes blog posts easier to read for free. Please give it a try.

We have gradually built up app development knowledge, so I would like to share app development best practices as of December 2022.
We will continue updating this article whenever best practices are added or changed.

Target audience

People who have experience developing Shopify apps, or people who want to try developing one from now on.

Shopify app development best practices

Use Shopify CLI v3

Because v2 will no longer be available after April 2023.
https://shopify.dev/changelog/cli-2-0-to-be-sunset-on-may-31-2023
Some features are only available in v2, but let's use v3.

Lint with eslint

This is not limited to Shopify app development, but you should use eslint.
Shopify also provides rules for Polaris, Shopify's official UI library.
https://github.com/Shopify/web-configs/tree/main/packages/eslint-plugin

Use GraphQL rules and any other rules according to your preference.
https://github.com/B2o5T/graphql-eslint

Use Polaris as the UI library

It includes all the basic UI components, so you can build an app that is easy enough to use with Polaris.
The Figma file is also publicly available, although it is a little old, so it is easy to create and share a simple mockup.
https://polaris.shopify.com/getting-started

Create a development-only app

Shopify CLI automatically changes the app URL and redirect URL to the URL generated by ngrok, but if you make an operation mistake, you may accidentally overwrite the production app settings with local settings.
Therefore, prepare a development-only app to prevent mistakes such as breaking the production environment settings.

If multiple people are developing the app, it is best to create a development-only app for each person.

Create a development-only store

To make it easier to isolate issues during app development, we recommend developing in a store that does not have unnecessary apps installed.

Also, if multiple people are developing, prepare a dedicated store so that you are not affected when someone else changes settings or changes the theme.

Prepare a staging environment

Again, this is not limited to Shopify app development, but instead of immediately reflecting changes from development to production, test them in a staging environment before reflecting them in production.
Of course, you also need a CI/CD environment for that.

Prepare a page for displaying Subscriptions

Prepare a dedicated page so that billing and cancellation can be tested easily.

At Tsun, as shown below, we prepare a page that retrieves active Subscriptions, displays them in an Index Table, and lets you easily cancel subscriptions with a Cancel button.

Active Subscriptions page

We recommend controlling it with Vite's import.meta.ENV or similar so that it is displayed only during development.

Prepare a page for displaying Webhooks

The same as Subscriptions.

Create a Subscription API endpoint for each plan

If you design it so that the plan amount and name are passed as parameters, a malicious user could change the amount and call the subscription endpoint.
Therefore, for example, if it is the Light plan endpoint, prepare a dedicated endpoint such as /api/subscriptions/light-plan.

Use Vite builds for extension development as well

To reduce asset file size and for obfuscation.

For developing rich UI theme extensions, I would also like to consider using Svelte in the future.

Deploy extensions on CI

If you switch apps and deploy each time with Shopify CLI, mistakes such as selecting the wrong app are likely to occur.

As shown at https://shopify.dev/apps/tools/cli/ci-cd, you can issue a token for CI and deploy extensions from CI.

Include a demo video URL in the listing review instructions

To reduce rework during the review, it is a good idea to submit a video that summarizes how to use the app when submitting it for review.

I recommend Loom because it is free and makes it easy to create demo videos.

Summary

This time, we introduced Shopify app development best practices as of December 2022.
It is hard enough just to keep Shopify app development information in your head, and with frequent updates, it is difficult to keep up.

We will continue updating this article whenever best practices are added or changed, so please check back!

Tsun Inc. develops Shopify apps.
If you are interested in Shopify app development, please contact Tsun Inc.

👆️目次はShopifyアプリ「RuffRuff 目次作成」を利用

👆️Table of contents by the Shopify app RuffRuff Table of Contents

Back to blog
  • Shopifyで領収書を発行する方法|Order Printerの設定手順・サンプルコード・おすすめアプリを解説

    Shopifyで領収書を発行する方法|Order Printerの設定手順・サンプルコード・お...

    Tsun ライターチーム

    Shopifyで日本式の領収書を発行する3つの方法を紹介します。無料のShopify Order Printerで使えるサンプルコード、適格簡易請求書の前提条件、日本向け領収書アプリ5選と運用の注意点を解説します。

    Shopifyで領収書を発行する方法|Order Printerの設定手順・サンプルコード・お...

    Tsun ライターチーム

    Shopifyで日本式の領収書を発行する3つの方法を紹介します。無料のShopify Order Printerで使えるサンプルコード、適格簡易請求書の前提条件、日本向け領収書アプリ5選と運用の注意点を解説します。

  • Shopifyアプリ「日本インボイス領収書」とは|税率別の端数処理と軽減税率の注記に対応

    What is the Shopify app "JP Invoice Receipt"? |...

    Scanoria

    JP Invoice Receipt (日本インボイス領収書) is an app that issues receipts from Shopify orders. It supports rounding per tax rate, notes for the reduced tax rate, and issuance by buyers themselves.

    What is the Shopify app "JP Invoice Receipt"? |...

    Scanoria

    JP Invoice Receipt (日本インボイス領収書) is an app that issues receipts from Shopify orders. It supports rounding per tax rate, notes for the reduced tax rate, and issuance by buyers themselves.

  • 【決定版】Shopifyアプリ おすすめ一覧:売上アップ・効率化・無料アプリまで徹底解説!

    [2026 Latest] Recommended Shopify Apps: A Compl...

    Tsunライターチーム

    A detailed, purpose-by-purpose guide to recommended apps that streamline Shopify operations. Covers customer acquisition, CVR improvement, blog extensions, CRM, workload reduction, and AI-powered apps. Curated information useful for beginners and...

    [2026 Latest] Recommended Shopify Apps: A Compl...

    Tsunライターチーム

    A detailed, purpose-by-purpose guide to recommended apps that streamline Shopify operations. Covers customer acquisition, CVR improvement, blog extensions, CRM, workload reduction, and AI-powered apps. Curated information useful for beginners and...

  • Shopify Canvasとは?できること・使い方・注意点を解説

    What is Shopify Canvas? Capabilities, how to us...

    Tsun ライターチーム

    Shopify Canvas, announced on October 1, 2026, is a design screen where you can edit your theme together with Sidekick while viewing every page of your store side by side....

    What is Shopify Canvas? Capabilities, how to us...

    Tsun ライターチーム

    Shopify Canvas, announced on October 1, 2026, is a design screen where you can edit your theme together with Sidekick while viewing every page of your store side by side....

  • STORESからShopifyへのデータ移行手順|注意点も紹介

    [2026 Edition] How to Migrate Data from STORES ...

    Tsunライターチーム

    For merchants considering a move from STORES to Shopify, this guide explains the differences in pricing and features between the two services, which data can and cannot be migrated, the...

    [2026 Edition] How to Migrate Data from STORES ...

    Tsunライターチーム

    For merchants considering a move from STORES to Shopify, this guide explains the differences in pricing and features between the two services, which data can and cannot be migrated, the...

  • 【2026年最新】Shopifyの手数料一覧!プラン別の料率と費用を抑えるポイント

    [Latest for 2026] List of Shopify fees! Rates b...

    Tsun ライターチーム

    Explains the types of fees charged on Shopify and lists the rates for the Basic, Grow, Advanced, and Plus plans. Also introduces cost simulations by monthly sales and four points...

    [Latest for 2026] List of Shopify fees! Rates b...

    Tsun ライターチーム

    Explains the types of fees charged on Shopify and lists the rates for the Basic, Grow, Advanced, and Plus plans. Also introduces cost simulations by monthly sales and four points...

1 of 6
  • 【ストアインタビュー後編】やりながら育てるShopify。「野菜をMOTTO」の試行錯誤:モンマルシェ株式会社 河野雄士さん

    [Store Interview, Part 2] Building and Growing ...

    テキサス・アユミ

    "Even when e-commerce is the main battlefield, e-commerce isn't the goal." An in-depth look at our interview with Yuji Kono of Mon Marché, whose brand "Yasai wo MOTTO" grew its...

    [Store Interview, Part 2] Building and Growing ...

    テキサス・アユミ

    "Even when e-commerce is the main battlefield, e-commerce isn't the goal." An in-depth look at our interview with Yuji Kono of Mon Marché, whose brand "Yasai wo MOTTO" grew its...

  • 【ストアインタビュー前編】 ECが主戦場でも、ECが目的ではない。「野菜をMOTTO」が貫くEC戦略:モンマルシェ株式会社 河野雄士さん

    [Store Interview, Part 1] Even When E-Commerce ...

    テキサス・アユミ

    "Even when e-commerce is the main battlefield, e-commerce isn't the goal." Part 1 of our interview with Yuji Kono of Mon Marché, whose brand "Yasai wo MOTTO" grew its e-commerce...

    [Store Interview, Part 1] Even When E-Commerce ...

    テキサス・アユミ

    "Even when e-commerce is the main battlefield, e-commerce isn't the goal." Part 1 of our interview with Yuji Kono of Mon Marché, whose brand "Yasai wo MOTTO" grew its e-commerce...

  • 【ストアインタビュー後編】取り返しのつかない失敗さえしなければ、全部学びになる。EC戦略と経営哲学:Beverich株式会社 代表取締役 木下慶さん

    [Store Interview, Part 2] As Long as You Don't ...

    テキサス・アユミ

    Kei Kinoshita, President of Beverich, discusses his strategy for splitting roles between Shopify and Amazon, how he uses the RuffRuff apps, and a management philosophy that turns failure into learning....

    [Store Interview, Part 2] As Long as You Don't ...

    テキサス・アユミ

    Kei Kinoshita, President of Beverich, discusses his strategy for splitting roles between Shopify and Amazon, how he uses the RuffRuff apps, and a management philosophy that turns failure into learning....

1 of 3
  • Our Editorial Process

    For readers new to e-commerce and Shopify, we write our articles with care to explain difficult commerce and marketing terms, along with how everything works from building a store through to selling, as “gently,” “clearly,” and “accurately” as we can.

    Learn more 
  • About the information on this site

    The information published here is based on Tsun Inc.’s own experience and research. While we make every effort to publish information that is as “current” and “accurate” as possible, we cannot fully guarantee its contents. Tsun Inc. accepts no liability whatsoever for any damages arising from this site. If you find an error in the information published here, we would be grateful if you would contact Tsun Inc.