快適で効率的な開発のために、適材適所のコーディング開発を支える
ノーコード開発が便利とはいえ、コーディング開発がなくなるわけではない。ノーコード開発で済む場面も多いが、きめ細やかな要件に対応していこうとすると、やはりコーディングが不可欠となる。SalesforceではSalesforce DXと呼ばれる取り組みの中でモダンな開発ツールを提供しており、開発者は快適かつ効率的に開発を進めていくことができる。
Salesforceのアプリケーションをテクノロジー的に見ると、Webコンポーネントベースのシングルページアプリケーションとなっている。このアプリケーションはLightningフレームワーク上で稼働しており、画面表示をGUIで調整できるだけではなく、高いセキュリティや効率的なデータアクセスも実現している。
Salesforceでコーディング開発を効率化するために知っておきたいのがLightning Web Components(LWC)とVS Code向け拡張の2つだ。
まずはLWC。これはLightningフレームワークを活用しながら、Webコンポーネントを開発するためのプログラミングモデルだ。開発者が独自に作成したWebコンポーネントをアプリケーションビルダーからアプリケーションに組み入れる時のことを考えてみよう。
例として、田中氏は先ほどファイルからデータを読み込んだアプリケーションに新しいWebコンポーネントを追加してみせた。「開催地」(住所データがある項目)で地図のコンポーネントを使い、開催地の場所を地図で表示するように変更した。何気なくやっているように見えるが、一般的なアプリケーションなら同一ページにあるコンポーネントが干渉しないか確認する必要がある。時には自分が開発したコンポーネント以外のコンポーネントのソースコードを確認したりすることもあるだろう。ところがSalesforceではそのような心配は一切不要。Salesforceのフレームワークはコンポーネント同士が干渉しないように制御しているためだ。そのため開発者は自分が担当するコンポーネントだけ確認すればよく、ビジネスロジックに集中できるようになっている。
続いてVS Code向け拡張。Salesforceでは開発者がエディタを自由に選ぶことができる。もし普段からVS Codeを使っているなら、Salesforce向けの拡張「Salesforce Extension Pack」を追加しておこう。田中氏は「VS CodeでSalesforceを開発するならマストアイテム」と推す。
追加でもう1つ。現時点ではオープンベータとして提供されているローカル開発だ。従来のSalesforce開発では、ローカル環境で開発しても、開発環境にアップロードしないと動作確認ができなかった。しかし、アップロード、テスト、修正を繰り返すのは効率的とは言えなかった。このローカル開発はローカルサーバー(ローカルホスト)上でLWCをビルド、テスト、実行できるため、開発の高速化につなげることができる。
なおSalesforceというとGUIのイメージがあるかもしれないが、コマンドラインもある。それが、Salesforce CLI。一連の作業をスクリプトで実行したい時に他ツールと組み合わせると便利だ。例えばテスト実行を自動化したり、データやメタデータを移動させたりできる。
またSalesforceのようにノーコードとコーディングを組み合わせて開発を行うアプリケーションでは、従来のコーディングを中心としたアプリケーション開発に比べるとバージョン管理が難しい。そこで全てのソースコードとメタデータの変更を「パッケージ」という形でモジュール化すると、バージョン管理がしやすくなる。VCSと同期したアプリケーションリリースを可能とし、CI/CDと連携することができるため、DevOpsの実現につながる。このパッケージは、サンドボックスにおいても利用可能だ。
最後に田中氏はあらためてこれからの開発体制において大切な考え方について述べた。ノーコード開発とコーディング開発の両方が選べる時、コーディングに慣れた開発者だと些細な機能でもコーディングで作ってしまいがちだ。しかしそこはぐっと抑え、ノーコードという選択肢があるのであればノーコードで開発を選ぶことを田中氏は推奨する。
アプリケーションはいずれ誰か別の人が引き継いで保守するかもしれない。ビジネスで使うユーザーのために品質の担保や安全性も忘れてはならない。田中氏は「Salesforceでの開発はノーコードファーストで。ノーコードで実現できないものだけをコーディングで補完していくというのが、Salesforce開発における成功の鍵となります」と話す。またノーコード開発とコーディング開発を適材適所で進めるなら、開発に携わった人たちの評価も適切に行えるように人事評価を見直す必要があると指摘した。開発のスタイルも考え方も、ニューノーマルへと向かっている。