Salesforceが舵を切った先にあるモデルは、われわれにとってなじみのあるものだ。それは、要求の捕捉からコンフィグレーション管理、バージョン管理、テスト、調達に至るまでの継続的インテグレーションのためのツール環境に焦点を当てつつ、コードの本番移行後に発生する次のサイクルにつなぐための運用ツールまでをも見据えた、近代的なソフトウェア開発のライフサイクルだ。開発の迅速な立ち上げを容易にするために、GitHub上にサンプルリポジトリも用意されている。また、既存アプリを変換するためのコマンドラインツールもSalesforce DXに用意されているため、そこから手をつけてもよいだろう。
コマンドラインはSalesforce DXの心臓部に相当し、scratch orgの生成やコードの管理はすべてここから行うことになる。そのインターフェースは、基本的なコマンドの文法と、共通関数向けのネームスペースを備えた比較的シンプルなものとなっている。また、これはアプリケーションとして実行されるため、「macOS」やWindows、Linuxといった、さまざまなOSのターミナルから呼び出せる。さらに、「Visual Studio Code」の組み込みターミナルやEclipseといった、各種のIDE内からも実行できる。
scratch orgはSalesforceインスタンスの完全なコピーではないが、コードをテストするための十分なデータと構造を保持できる。これはJSONの定義ファイルによって記述されているため、プログラムで作成することができ、テストの際にorgを迅速に設定し、破棄できるよう、定義ファイルをバージョン管理システムに格納しておくこともできる。また設定ファイルから、利用可能な機能を制御できるため、開発中のプロジェクトに必要なSalesforce要素だけを配備できる。さらに、完全なSalesforceインスタンスか他のscratch orgかにかかわらず、他のorg上でクエリを実行し、データを抽出できる。エクスポートしたデータはJSONとしてローカル環境に保存できるため、まっさらな状態からのテストや開発のためのscratch orgですぐに使用できる。
scratch orgをいったん配備すれば、Salesforceの組み込み開発ツールや自らのIDEからオープンできるようになる。Salesforce DXのCLIには、特定のページに存在するSalesforceのツール群をオープンするコマンドが用意されているため、CLIはここでも重宝するはずだ。また、ファイルやクラスの管理に使ったり、使い慣れたコードエディタでそのまま編集することもできる。Apexで記述されたテストの起動も可能だ。SalesforceはSalesforce DXのCLIをJenkinsやTravis CIに統合する方法も公開しているため、既存の継続的インテグレーションツールや、使用しているワークフローへの組み込みも可能だ。