技術的な問題というよりは、あくまでも皆様のケースを参考までに伺いたいです。

AI-generated summary

環境分離の必要性について

Shopifyでプラグインを使用する際、開発環境・テスト環境・本番環境を分けるべきかという質問に対する実践的な議論。

環境を分けない場合のリスク:

  • アプリによって不要なデータやコードがテーマに残留する
  • Shopifyアプリの制約上、アンインストール時のデータクリアが困難
  • 商品を非公開にできない場合、本番環境でのテストが難しい
  • 既存アプリとの干渉や速度劣化の可能性

不要コード削除の工夫:

  • GitHubで管理している場合はコード差分で判別可能
  • テーマエディター上の変更履歴から追加コードを特定
  • テーマ選択機能があるアプリは比較的安全

推奨される対応:

  • 動作確認用の環境を用意することでリスク回避
  • サイトロック機能(パスワード保護)を活用した非公開状態での確認
  • テーマ編集権限を要求するアプリには特に注意が必要

アプリ開発者の視点から、環境分離の重要性が強調されている。

技術的な問題というよりは、あくまでも皆様のケースを参考までに伺いたいです。

Shopifyのようなプラットフォームを使い、既存のプラグインをインストールする場合でも、サイトの動作の確認をする目的、サイトを開発する目的で、「開発環境」、「テスト環境」、「本番環境」と環境をそれぞれ分けたほうがいいのでしょうか?
また、環境を分けないリスクはいったいどのようなものが考えられるでしょうか?

私はアプリ開発がメインですので、その知見からの回答になります。

環境を分けない場合、以下のようなリスクがあります。

  • アプリによって環境に不要なデータが残る、テーマに不要なコードが残る
  • アプリのテストが困難な場合がある

1つ目ですが、アプリの権限によっては環境やテーマの変更が可能になります。

また、Shopifyアプリの制約上、アンインストール時にデータをクリアすることが難しいため、アプリによってはアンインストール時に不要なデータを残したままにしたり、テーマにコードを残したままにするものがあります。

その結果、使っていないアプリによって速度劣化が発生したり、既存のアプリと干渉するリスクがあります。

2つ目は、例えば商品を公開状態にしないとテストできないといった場合に、本番ストアしかないとテストが難しいことがあります。こちらは工夫次第ではテストできる場合もありますが、開発ストアがあったほうが簡単に公開中のテストもできたりするので便利なことが多いです。

以上、参考になりましたら幸いです。

Ogasawarakyohei 様

回答ありがとうございます。

続けて質問させてください。不要なテーマや不要なコードを消す際にはどの様な工夫をされていますか?
間違って本来消すべきではないコードを削除してしまうリスクがあるのではないかと予想するのですが、そのリスクはどのように回避されているのでしょうか?

また、現状動作の確認自体はサイトにロック(サイトを閲覧するためにはパスワードが必要な状態にし、事実上の非公開の状態を作ります。)をかけてから行っています。

不要なテーマや不要なコードを消す際にはどの様な工夫をされていますか?

差分をみれば、アプリ等によって追加されたコードは判別できます。

GitHubで管理していればコード差分として確認できますし、していない場合でもテーマエディター上で変更履歴はわかるのでそこから目星をつけていく感じです。

念のため補足しますと、コードを挿入する系のアプリでも挿入するテーマを選択させるアプリはそこまで神経質にならなくてもよいと思います。

問答無用でライブテーマにコード挿入してくるような、あまり行儀が良いとは言えないアプリがありますので、その点だけ注意が必要です。

アプリインストール時に、テーマの編集権限を要求してくるアプリが上記に該当します。

間違って本来消すべきではないコードを削除してしまうリスクがあるのではないかと予想するのですが、そのリスクはどのように回避されているのでしょうか?

そのリスクを回避するためにも動作確認用の環境があるとよいと思います。