Shopify Theme KitとShopify CLIの違い
この記事の所要時間:3分
Shopifyのテーマ開発環境は常に変化しています。
直近では、Online Store 2.0の登場に伴って、ローカル開発でShopify CLIの使用が推奨されるようになりました。
一方、検索すると、長らく使われてきたShopify Theme Kitの情報が多くヒットするため、混乱する方もおられるでしょう。
本記事では、2021年8月時点の最新情報を反映して、Shopify Theme KitとShopify CLIの違いをまとめています。
最新情報を元に、最適な選択を行ってください。
Shopifyテーマをローカルで開発するには
Shopifyのテーマ開発にはローカル環境で使用できるCLIが必要不可欠です。
CLIを使ってローカル開発を行うことで、便利なコマンドや、VSCodeやVimといった高機能なエディタの恩恵を受けることができます。
歴史的に使われてきたCLIは3つあります。
古い順からリストアップします。
・Slate
・Shopify Theme Kit
・Shopify CLI
Slateは、2020年7月にサポートが終了しています。Shopify Theme Kitは、Online Store 2.0の機能を用いたテーマ開発では推奨されていません。
Online Store 2.0は開発ツールとの関わりが深く、これからテーマ開発を行う方にとって大事な概念です。
そのため、まずはOnline Store 2.0について解説します。そのあとに、それぞれのCLIについて解説します。
Online Store 2.0
テーマ開発において重要なのが以下の性質です。
・開発の容易さ
・テーマの柔軟さ
・メンテナンスの容易さ
Online Store 2.0はこれらの特徴を強化するための機能の集まりです。
具体的な機能としては、以下が挙げられます。
Sections Everywhere:SectionがJSON templateによって定義され、ページに自由に差し込めるようになる機能。
Dynamic sources:SectionのJSON templateによる定義に、メタフィールドやリソース属性を含むことで、動的なコンポーネントとすることができる機能。
App blocks:Shopifyアプリがテーマの一部をコントロールできるようにする機能。
Slateについて
Slateはテーマ開発で使用されるCLIです。
Node環境で動作し、npmのパッケージとしてインストールできます。
用途としては後述するShopify Theme KitやShopify CLIと大きく変わりません。
しかし、Slateのサポートは、2020年7月に終了しています。
その理由としては、(先に述べた)Sections Everywhereを推進していくにあたって、Slateのアーキテクチャがそぐわなくなったからです。
詳しくは、こちら(英語)に書かれています。
サポートが終了されていることから、これからテーマ開発を始める際に、あえてSlateを使うべきケースは無いと思います。
Shopify Theme Kitについて
Shopify Theme KitもSlateと同じく、テーマ開発で使用されるCLIです。
特徴としては、以下が挙げられます。
・複数環境(開発環境、ステージング環境、本番環境など)を分けて管理することができる。
・Gitによるソースコード管理ができる。
・ローカルのソースコードに加えられた編集をリアルタイムでShopifyのサーバに同期させることができる。
Shopify Theme Kitでは、Online Store 2.0のサポートはありませんが、必要最小限の機能が含まれています。
そのため、既存のテーマを編集する場合や、Online Store 2.0の機能を活用せずに新しいテーマを開発する場合に適しています。
Shopify Theme Kitのインストール手順やコマンドの使い方はこちらにまとめていますので、参考にしてください。
Shopify CLIについて
Shopify CLIは前述のShopify Theme Kitの機能をほぼ全て引き継いでいます。
Shopify CLIにしかない特徴としては、Online Store 2.0に基づいた開発のサポートです。
これからOnline Store 2.0に基づいたテーマ開発を始める際には、Shopify CLIの使用が推奨されています。
(参照:https://shopify.dev/themes/tools/theme-kit#choosing-between-shopify-cli-and-theme-kit)
まとめ
・これからテーマ開発を始める際に、あえてSlateを使うべきケースは無い。
・Online Store 2.0の機能を活用せずにテーマ開発をする場合は、必要最低限の機能が含まれているShopify Theme Kitが適している。
・Online Store 2.0に基づいたテーマ開発を始める場合はShopify CLIが推奨されている。