1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Salesforce Platform Developer I:プラットフォーム開発の基礎とVSCodeからプロジェクト作成

Last updated at Posted at 2021-04-27

プラットフォーム開発の基礎

開発者ガイド

・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’
image.png

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 などのサービスに接続するボットをコーディングすることもできます。
image.png

その他

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起動して、左のツールバーで拡張機能アイコンをクリック。
image.png
③Salesforce Extension Pack を検索し、[Install (インストール)] をクリックします。
image.png

開発環境確認

①Visual Studio Code で、Ctrl+Shift+P (Windows) または Cmd+Shift+P (macOS) を押して、コマンドパレットを開きます。
②「sfdx」と入力して、Salesforce 拡張機能で提供されるコマンドを絞り込みます。
image.png

Salesforce DXでプロジェクト作成

①Visual Studio Code で、Ctrl+Shift+P (Windows) または Cmd+Shift+P (macOS) を押して、コマンドパレットを開きます。
②SFDX: Create Project選択。
image.png
③標準のプロジェクトテンプレート選択。
image.png
③プロジェクト名入力して、[Enter]キーを押す。
image.png
④作成結果
image.png

salesforce環境連結

①Visual Studio Code で、Ctrl+Shift+P (Windows) または Cmd+Shift+P (macOS) を押して、コマンドパレットを開きます。
②[SFDX: Authorize an Org (SFDX: 組織を承認)] を選択
image.png
③接続環境選択して、salesforceログイン画面表示
※Loginは本番、Trailhead環境
 Sandboxは開発環境

image.png
④ユーザとパスワード入力して、ログインする
※Trailhead練習の時、「playground Starter」の「ログイン情報を取得する」タブからログインユーザ名確認
 パスワードリセットされていない場合は、パスワードリセットをクリックして、設定のメールからパスワードリセットする必要。

image.png
⑤接続完了待ち
image.png

Lightning Webコンポーネント作成

①Visual Studio Code で、Ctrl+Shift+P (Windows) または Cmd+Shift+P (macOS) を押して、コマンドパレットを開きます。
②「SFDX: Create Lightning Web Component」を選択する。
image.png
③ファイル名入力
image.png
④フォルダ選択
image.png
⑤ファイル作成完了確認
image.png
⑥コードを書く
helloWorld.html
image.png
helloWorld.js
image.png
helloWorld.js-meta.xml
image.png
⑦リリースする
・force-app/main の下にある default フォルダを右クリックします。
・「SFDX: Deploy Source to Org(SFDX:組織へソースをデプロイ)」クリックする。
image.png
image.png

※[Hello World Lightning Web コンポーネントの作成]の挑戦が完成できない場合、以下の部分修正。
①言語は英語に変更
②[set]-[home]のデフォルトホームページ再設定
image.png
③デフォルトホームページ設定後、もう一回編集画面開く、helloWorldコンポーネント再設定する。
④もう一度挑戦ボタン押す。
image.png

1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?