プラットフォーム開発の基礎
開発者ガイド
・Apex 開発者ガイド
・Lightning Web コンポーネント開発者ガイド
・Lightning Aura コンポーネント開発者ガイド
・Visualforce 開発者ガイド
・プラットフォームイベント開発者ガイド
・Salesforce Developer の制限および割り当てクイックリファレンス
・SOQL および SOSL リファレンス
Salesforce Platform
Salesforce Platform はテクノロジの集合体であり、その上にある他のテクノロジの開発をサポートします。
このプラットフォームが独自なのは、すべての Salesforce クラウドだけでなく、お客様やパートナーが開発したカスタム機能もサポートする点です。この機能は、シンプルなページレイアウトから本格的なアプリケーションまで広範囲に及びます。
以下の機能を付けている
・Salesforce のコアプラットフォーム:カスタマイズ開発できる、堅牢なシステムを速いペースで構築できます。
・Heroku プラットフォーム:
①Python、Ruby、Goなどを使用して非常に拡張性の高い Web アプリケーションやバックエンドサービスを構築する機能を開発者に提供します。
②Salesforceのデータとシームレスに同期するデータベースツールも用意されています。
・豊富な Salesforce API:開発者はすべてのエンタープライズデータ、ネットワーク、および ID 情報を統合して接続できます。
・Mobile SDK:Salesforce アプリケーションと同じ信頼性とセキュリティを備えたネイティブ、HTML5、およびハイブリッドアプリケーションの開発を可能にするテクノロジのスイートです。
メタデータ駆動型開発モデル
Salesforce Platform 上での開発と Salesforce 以外での開発の主要な違いの 1 つです。
Salesforce Platform はメタデータに対応しているため、ユーザ環境の重要な部分をユーザに代わって自動生成できます。
こうした事前作成済み機能によって開発時間が解放され、より高度なカスタム機能に取り組めるようになります。
Salesforce のコアプラットフォームのテクノロジ
Lightning コンポーネントフレームワーク
AngularJSやReactと似たUI開発フレームワーク。
Spring’19(API バージョン 45.0)から2つになる
①Lightning Web コンポーネントモデル(VSCodeで開発)
※JavaScriptボタンのサポートがよくない、Lightningレコードページから呼び出すアクションに指定できない。
②従来のAuraコンポーネントモデル(開発者コンソールとIDE両方開発可能)
利用箇所:
Lightning:画面と画面のロジック作成
Apex
Javaのような構文を持つSalesforce独自のプログラミング言語。**
利用箇所:
Classic:カスタマイズ画面のバックグラウンドロジック作成
Lightning:トリガーとプロセスの中に呼び出し可能のクラス作成
※メソッド署名の前に @InvocableMethod アノテーション付ければ、プロセスビルダーなど他のツールがメソッドを実行できる
例えば:Apexのメソッド前に@InvocableMethod(label='Push Price Change Notification')追加すれば、プロセスビルダーに表示のApexクラスラベルは‘Push Price Change Notification’
Visualforce
HTMLによく似たコードを使用してカスタムの Salesforceページを作成できるマークアップ言語で、ApexとJavaScriptの強力な組み合わせも利用できます。
このファイルには、Visualforceタブ、HTMLタブ、CSS、JavaScriptなどが使えます。
利用箇所:
Classic:カスタマイズ画面作成
Lightning:JavaScript含めている画面作成、アクション(画面ボタンなど)の呼び出し可能
Lightning プラットフォーム API
API | API でできること |
---|---|
SOAP API | 標準 SOAP プロトコルを使用して組織のデータを他のアプリケーションと統合する。 |
REST API | 標準 REST プロトコルを使用して組織のオブジェクトにアクセスする。 |
メタデータ API | 組織のカスタマイズを管理し、メタデータモデルを管理するツールを作成する。 |
Tooling API | プラットフォームアプリケーション用のカスタム開発ツールを作成する。 |
Marketing Cloud API | REST API で Marketing Cloud 機能を公開し、SOAP API でほとんどのメール機能に包括的にアクセスする。 |
Bulk API | 大きなデータセットに対して読み込み、削除、非同期クエリを実行する。 |
ストリーミング API | セキュアかつ効率的に通知を送受信する。通知には、組織のデータ変更やカスタムイベントを反映できる。 |
Chatter REST API | Chatter、コミュニティ、おすすめ、ファイル、トピックなどの UI を作成する。 |
Mobile SDK | 技術的にはソフトウェア開発キットであるが、ここにも含まれる。ネイティブまたはハイブリッドモバイルアプリケーションを Salesforce に直接統合する。 |
Heroku
AWS上に構築されて、Webアプリケーションの迅速な開発、リリース、拡張を可能にするWeb開発プラットフォームです。
Heroku ConnectによってSalesforceデータが Heroku Postgresデータと統合されるため、プラットフォーム間を移動する情報を管理する必要がありません。
DreamHouseのHerokuアプリ
https://ty-dreamhouse-web-app.herokuapp.com/?_ga=2.83565727.889171294.1620199644-955971840.1620140065
IoT、ボット、その他
IoT
Visualforce または Lightning コンポーネント、Heroku でホストされるマイクロサービス、スマートロック、証明、サーモスタットからの IoT インターフェースの組み合わせを使用して、プラットフォーム上に直接 IoT 制御機能を構築できます。
Bots(自動応答ローボード)
従業員がデータを操作しやすくするため自動応答ローボード。
Apex のみでコーディングされています、Slack、Facebook Messenger、Amazon Alexa などのサービスに接続するボットをコーディングすることもできます。
その他
ApexおよびEinstein Vision API を使用してカスタム画像認識および分類エンジンを作成できます。
・Apex、Lightning コンポーネント、Einstein Vision を使用して、猫の画像を認識し、分類します。
・Einstein Vision API を Raspberry Pi と組み合わせて猫の侵入を検出して食い止めています。
Einstein Analytics、GeoJSON、Python を使用して Analytics グラフのためのカスタム地図を作成できます。
プラットフォームイベントと Lightning コンポーネントを使用して即時通知アプリケーションを作成することもできます。
Salesforce CLIインストール
・Windows、MacOS、Linux
下記のリンクからダウンロードして、インストールする
https://developer.salesforce.com/tools/sfdxcli
インストール結果確認
sfdx --version
salesforce DXプラグインバージョン確認
sfdx plugins --core
特定バージョンインストール
sfdx plugins:install salesforcedx@49.14.0
プレリリース
sfdx plugins:install salesforcedx@pre-release
早期リリース候補版をインストール
sfdx plugins:install salesforcedx@latest-rc
CLI にインストールされている他のプラグインのリスト確認
sfdx plugins
force 名前空間のコマンドファミリ (トピック) のリスト確認
sfdx force --help
使用可能なすべての Salesforce CLI コマンド確認
sfdx commands
プラグインをアンインストール
sfdx plugins:uninstall salesforcedx
Visual Studio Codeインストール
①下記のリンクからダウンロードして、インストールする。
https://code.visualstudio.com/
②VSCode起動して、左のツールバーで拡張機能アイコンをクリック。
③Salesforce Extension Pack を検索し、[Install (インストール)] をクリックします。
開発環境確認
①Visual Studio Code で、Ctrl+Shift+P (Windows) または Cmd+Shift+P (macOS) を押して、コマンドパレットを開きます。
②「sfdx」と入力して、Salesforce 拡張機能で提供されるコマンドを絞り込みます。
Salesforce DXでプロジェクト作成
①Visual Studio Code で、Ctrl+Shift+P (Windows) または Cmd+Shift+P (macOS) を押して、コマンドパレットを開きます。
②SFDX: Create Project選択。
③標準のプロジェクトテンプレート選択。
③プロジェクト名入力して、[Enter]キーを押す。
④作成結果
salesforce環境連結
①Visual Studio Code で、Ctrl+Shift+P (Windows) または Cmd+Shift+P (macOS) を押して、コマンドパレットを開きます。
②[SFDX: Authorize an Org (SFDX: 組織を承認)] を選択
③接続環境選択して、salesforceログイン画面表示
※Loginは本番、Trailhead環境
Sandboxは開発環境
④ユーザとパスワード入力して、ログインする
※Trailhead練習の時、「playground Starter」の「ログイン情報を取得する」タブからログインユーザ名確認
パスワードリセットされていない場合は、パスワードリセットをクリックして、設定のメールからパスワードリセットする必要。
⑤接続完了待ち
Lightning Webコンポーネント作成
①Visual Studio Code で、Ctrl+Shift+P (Windows) または Cmd+Shift+P (macOS) を押して、コマンドパレットを開きます。
②「SFDX: Create Lightning Web Component」を選択する。
③ファイル名入力
④フォルダ選択
⑤ファイル作成完了確認
⑥コードを書く
helloWorld.html
helloWorld.js
helloWorld.js-meta.xml
⑦リリースする
・force-app/main の下にある default フォルダを右クリックします。
・「SFDX: Deploy Source to Org(SFDX:組織へソースをデプロイ)」クリックする。
※[Hello World Lightning Web コンポーネントの作成]の挑戦が完成できない場合、以下の部分修正。
①言語は英語に変更
②[set]-[home]のデフォルトホームページ再設定
③デフォルトホームページ設定後、もう一回編集画面開く、helloWorldコンポーネント再設定する。
④もう一度挑戦ボタン押す。