『Eclipse × Force.com IDE』、『SublimeText × MavensMate』とこれだけあればSalesforceの開発環境を用意することができました。ですが『Gitを使ったバージョン管理』、『ビルド環境を整えてモダンなJavaScriptアプリケーションの開発』というように、Salesforceの開発で必要なツールや環境が増えていると思います。
それでは実際にどのように環境を用意すればいいのか...という問題にハマっていたので、いろいろ調べてみてブログにまとめてみました。
- SFDC:Salesforce Development 2016 - Part 1
- SFDC:Salesforce Development 2016 - Part 2
- SFDC:Salesforce Development 2016 - Part 3
- SFDC:Salesforce Development 2016 - Part 4
- SFDC:Salesforce Development 2016 - Part 5
各記事の概要
SFDC:Salesforce Development 2016 - Part 1
Part1の記事では、SublimeTextとMavensMateをつかってSalesforceプロジェクトを用意した後、Gitリポジトリにプッシュするまでの流れについて紹介しています。
また、gulpやbowerをつかった開発環境の構築方法やgulp-jsforce-deployをつかって静的リソースにJSファイルをデプロイする方法についてまとめてみました。
今までForce.com IDEやMavensMate以外の方法でSalesforceにデプロイするにはMatedataAPIを理解して自分で環境を用意する必要がありました。gulp-jsforce-deployによってその仕組みづくりに苦労しなくてよくなったと思います。
SFDC:Salesforce Development 2016 - Part 2
Part2の記事では実際にAngularJSをつかったVisualforceページの開発について紹介しています。Part1で環境構築、Part2でその使用例を紹介する感じでまとめてあります。
ビルドの実行は出てきませんが、実際に動くサンプルコードも用意してみました。
SFDC:Salesforce Development 2016 - Part 3
Part3の記事ではReactをつかったVisualforceページ開発の始め方について紹介しています。React開発ではビルド作業が必須となります。Salesforce開発でもnpm installやBabel、Webpackなどが利用できることについてまとめてみました。
SFDC:Salesforce Development 2016 - Part 4
Part4の記事ではForce.com CLIをつかったSalesforceのメタデータを取得する方法について紹介しています。SalesforceではVisualforceページやApexクラスなど開発して用意したファイルはもちろん、ページレイアウトやカスタム表示ラベル、オブジェクト情報などのカスタマイズ情報もメタデータとして管理できます。
使いどころが難しいメタデータですが、Force.com CLIを利用することで短時間でダウンロードできるのでそのことについてまとめてみました。
SFDC:Salesforce Development 2016 - Part 5
Part5の記事ではBitbucketをつかったSalesforceのプロジェクト管理について紹介しています。Gitをつかった管理についてはPart1で紹介していますが、プロジェクト管理がやりやすくなるBitbucketの便利機能やSourceTreeをつかった開発の進め方についてまとめてみました。
環境構築時に意識していること
基本的には従来のMavensMateで開発するときと同じ流れで開発できるように考えています。今後、Lightning Experienceへの移行が本格化され、モダンなJavaScriptアプリケーション開発が必要になりますが、まだしばらくはapexタグをつかった画面開発も行われると思います。そのため、ページやクラス、トリガはMavensMateの機能をつかって開発を進められるように考えてみました。
npmやBower、Gulp、Webpackなどを利用するための環境はすべてappフォルダ内にまとめてあります。(静的リソースへデプロイするための環境もappフォルダ内です。)
普通にVisualforceページやApexクラス、トリガの開発をするときはappフォルダを気にする必要はないので、環境を大きく変更せずに導入できると思います。
サンプルコード
ブログ記事内にもリンクはありますが、サンプルコードをGitHubで公開しています。
まとめ
ひとまずこれでモダンなJavaScriptアプリケーションを開発するための環境をSalesforce開発に取り込めると思います。ですが今回のサンプルにはまだ改善点があります。静的リソースへのデプロイ周りはGulpやWebpackをもっと作りこんで自動化できると思いますし、他にもこうした方が良いというのがでてくるかなと思います。今回のは何から手を付ければという人向けに構築例の1つとして紹介します。