Shopify ブログ

Shopify App CLI:アプリ開発を高速化するツール

2019年のShopify Uniteにおいて、Shopify App CLIのベータ版リリースがアナウンスされました。このコマンドラインツールは、アプリコードの足場を作りいくつかの開発プロセスを自動化することで、パートナーがアプリを構築するのを楽にするためのものです。このCLIがついにShopifyデベロッパーに向けオフィシャルに公開されました。

Shopify App CLIは、アプリ開発を高速化し、ボイラープレートコード(定型的で冗長なコード)をできる限り削減することでプラットフォーム上でさらに生産効率を上げるのを後押します。この記事では、このツールの仕組みと今後の展開について解説します。 

Shopify App CLIで可能なこと

Shopify App CLIは、新しいプロジェクトを開始するにあたって障壁となるものを取り除くことによって、アプリ開発プロセスを促進します。ターミナルにshopify create project <name>と入力すると、自動的に新しいプロジェクトが作成されます。バックエンドをNode.js、フロントエンドをReactで構築するか、またはRuby on Railsを利用するかを選択できます。

アプリ開発プロセスを高速化するためのShopify App CLIの使い方には、主に4つの方法があります。

1. プロジェクトの作成

プロジェクトを新規作成すると、組織、開発ストア、アプリの種類を質問されます。それから、アプリがパートナーダッシュボードに登録されます。

その後、shopify serveによってCLIがトンネリングを開始し、アプリがインターネットに接続できるようになります。これはShopifyでの認証のための要件です。ngrokによるトンネリングがおこなわれると同時にローカル環境のサーバーを実行します。

2. 情報の追加

CLIはまた、アプリをテストするために商品、カスタマー、下書き注文を追加するプロセスを円滑にします。データを入れるには、shopify populateを実行します。

3. アプリの課金

アプリの課金はBilling APIを使っておこなわれます。CLIは、このAPIの設定を助けます。そのためには、shopify generateを実行してください。

4 プロジェクトのデプロイ

プロジェクトのデプロイもCLIで可能です。便利なshopify deployを実行するだけです。

これらの機能に加え、Shopify App CLIには開発ストアの作成、アプリの実行、ngrokのトンネリングを実行するコマンドもあります。こちらのリンクからCLIを自分のマシンにインストールし、実際にこれらの機能をチェックしてみてください。

Shopify App CLIの構成

過去にわたしたちは、NodeGoRubyコマンドラインツールを作ってきました。Shopify App CLIは、簡単にインストールでき、高速で、コントリビューションも簡単な言語で構築したいと考えました。

Nodeはコマンドラインツールを書くためのyargsinkのような素晴らしいライブラリを持っていますが、Nodeベースのツールのインストールやパスの管理は困難です。実行に必要な依存コードに頼ることをわたしたちは望みませんでした。

Goはクロスプラットフォームのコマンドラインツール構築には良い選択肢で、主要OSのバイナリにコンパイルするのが容易ですが、親しみやすさやコントリビューションの容易性という点では懸念が残りました。

RubyGoより親しみやすい言語であり、Nodeより広範な標準ライブラリを持っていて、依存関係を必要とせずに多くのことを達成でき、ツールを高速に保ちます。Rubyはまた、Mac OSLinuxにプリインストールされているかまたはインストールが容易であり、わたしたちはShopifyでそれに精通していました。そこで内部的にRubyでコマンドラインツールを書き始め、その知識をコマンドラインツール作成のフレームワークであるcli-kitや、コマンドラインのUIパターンであるcli-uiに反映しました。

Cli-uiのキットは、ターミナルのエスケープシークエンスや、ターミナルの幅、それにその他の難解なコマンドライン構築の細部を気にすることなく、再利用可能なUIコンポーネントを使えるため、安定したユーザーエクスペリエンスを提供してくれます。

ユーザーがオプション選択をするプロンプト:

プロセスを区別するフレーム:

カラーフォーマット:

これらのオープンソースツールは、内部的なわたしたちのコマンドラインツールに力を与えてくれましたが、あなたの効率的なアプリ構築にも役立つでしょう。

 

フレキシブルに使えるツール

Shopify App CLIを作るにあたって、できるだけ多くのデベロッパーにとって機能的なものになるよう気を配りました。デベロッパー向けツールのランドスケープを把握し、ツールにおける決まり事を作りました。

1 仮定しない。社内的にはツール作成にあたってユーザーの開発環境に関する仮説はたくさん出ています。Shopifyでは全員Macを使っています。しかしShopifyの外ではデベロッパーにはOSや言語のインストールに好みがあります。Shopify App CLIには推奨する言語インストール方法がありますが、特定のやり方を強制するものではありません。

2 上位権限を要求しない。一般的にオープンソースツールは上位権限の要求を避けます。もしそれをしてしまうと、(sudo make installなどの)特定のアクションをユーザーが実行することにつながります。App CLIにグローバルな許可を与えることは、デベロッパーのシステムに潜在的なセキュリティの懸念を生じさせかねません。

3 何も削除しない。このツールが実行するどのオペレーションも、非破壊的でなければなりません。ツールによって作成されたプロジェクトやファイルを削除するかどうかは使う人次第です。

これらのルールは柔軟なツールを作成するためのものです。Shopify App CLIは使う人にフィットしたベストなやり方で使用することができます。

Shopify App CLIの未来

Shopify App CLIShopifyアプリの開発スピードを速め、利用可能なパッケージやライブラリを強調表示し、快適なユーザーエクスペリエンスを提供するために設計されています。アプリ開発を簡単で、速く、直感的なものにすることで、開発プロセスはスムーズになり、利用者はユーザーのための素晴らしいプロダクトを作り上げることに集中できます。

このCLIはオープンソースなので、コードベースに直接コントリビューション可能です。わたしたちはいつでも、より多くアプリの足場となることや、パートナーによって機能が開発されること、そしてフィードバックを求めています。Shopifyとデベロッパーコミュニティとの真のコラボレーションとして、Shopify App CLIがみなさんのニーズに合うよう成長していくことを望んでいます。

原文:Katie Davis and Tyler Ball 翻訳:深津望

 

Shopifyパートナープログラムでビジネスを成長させる
マーケティング、カスタマイズ、またはWebデザインや開発など提供するサービスに関係なく、Shopifyパートナープログラムはあなたを成功へと導きます。プログラムの参加は無料で、収益分配の機会が得られ、ビジネスを成長させる豊富なツールにアクセスできます。情熱的なコマースコミュニティに今すぐ参加しましょう!

今すぐ登録
トピック: