#
ドキュメント

Document

自分のための備忘録です。

雰囲気

ベスト・プラクティス

  • 標準オブジェクトの利用
  • ガバナ制限に対する設計段階での考慮

開発環境のモダン化

開発者コンソールを使った開発からSalesforce DXを使った開発へ移行。 Salesforce DXへ移行することで、開発に業界標準のベスト・プラクティスやツールを採用できるようになった。 特にバージョン管理システムを起点とする開発環境が整った。

開発者コンソール

salesforceが提供するブラウザで動作するIDE。

salesforce上にあるソースコードを開発者コンソールで編集する開発スタイルだった。バージョン管理システムや業界標準の開発手法やツールなどを利用できなかった(利用するには相当複雑な準備が必要だった)。ある意味、特殊な開発環境になっていた。

開発者コンソール

Salesforce DX

Salesforce Developer Experience (DX) は、開発ライフサイクル全体を合理化するツールセットです。チームによる開発とコラボレーションの向上、自動化テストと継続的インテグレーションの容易化、リリースサイクルの効率化とアジャイル化を実現します。

https://trailhead.salesforce.com/ja/content/learn/projects/quick-start-salesforce-dx/set-up-your-salesforce-dx-environment

とくに後述するsalesforce CLIが提供されることによって、Git/GitHubといったバージョン管理システムを中心に開発できるようになった。

salesforce CLI

Salesforce DXを実現するためのコマンドラインツール。

  • ローカルで編集したソースコードをサンドボックスや本番環境へPushすることが可能になった(バージョン管理システムの導入が可能になった)
  • サードパーティーの便利なツールなどが使用できるようになった

GitHub/JUnit/webpack/ESLint/CircleCI/etc...などsalesforceが提供している以外のツールを使って、開発できようにSFDXが提供された

# salesforce CLI(sfdxコマンド)のコマンド抜粋
$ sfdx commands
...
force:apex:test:run
...
force:source:pull
force:source:push
...

コンポーネントのWEB標準化

salesforceアプリケーションを構成するコンポーネント作成技術は現在3つある。

  • Visualforce ・・・salesforce独自仕様
  • Lightningコンポーネント(Auraコンポーネント)・・・salesforce独自仕様
  • Lightning Web Components・・・Web Components(WEB標準)

現在はLightning Web Componentsが推奨されている。 Lightning Web ComponentsはWeb標準のWeb Componentsで構築するので、Salesforce DXとも伴ってモダンな開発環境を取り入れることが可能。

VCCMモデル

  • WEB標準
  • モダンな開発環境(CLI(SFDX)やVS CODEのプラグイン提供)
  • 外部サービスとの連携
    • salesforceの拡張として利用できるもの
    • APIを通して利用するもの(事例)
      • sansan --- sansanで名刺を取り込むと取引先・取引先責任者が自動入力されて、thanksメールが送信 いままでは名刺交換した相手へのthanksメールは平均1ヶ月かかっていた 加えて交換した名刺の9割にはリーチしていなかった 上記より売上が2倍程度になった
      • tableau
      • https://followanalytics.com/
        • salesforceで管理しているレスポンシブサイトを自動でネイティブアプリに変換
        • Push通知・touch ID・位置情報取得などネイティブの機能を自動で追加可能
  • ガバナ制限を考慮することが大切
  • データはHerokuなどへ格納することも考える <-- ガバナ制限を回避