開発ソースは全て「すでにあるもの」が「salesforce によってラップされている」と思ってください。
なので、ほぼ全ての開発が「っぽい」感じになります。
既に元の言語を知っている人のほうがハードルが高いので、ここは頑張って懐柔されましょう。
間違い等ございましたらこちらからお願いします。-> s45.rita★gmail.com
Apex
Apex は、Java に似た構文のプログラム言語を指します。見た目とても Java っぽいですが違います。Lightning Platform でコンパイルされ、実行されます。 当然ですが、salesforce に特化しているので salesforce レコードへのアクセスなどの記述は最低限です。
sObject
Apex の扱うデータ型の一つ。(もう一つはプリミティブ型)
sObject は salesforce がオブジェクトとして保持しているもの。
- 標準オブジェクト(取引先、商談など)
- カスタムオブジェクト(xxx__c)
DML
データ操作言語。DB に対して検索、登録、更新、削除ができる。
ここでいう DML は、Apex で使用することを前提としていて、Apex のソース内で「しれっとソースの一部に混じって SQL っぽい雰囲気で書けるもの」を指す。
見たら「ふーん」となるのであまり気負わなくてよいです。
// Create the account sObject
Account acct = new Account(Name='Acme', Phone='(415)555-1212', NumberOfEmployees=100);
// Insert the account by using DML
insert acct;
SOQL
salesforce Object Query Language
salesforce が SQL をラップしたもの。
1 つのオブジェクトのレコードを取得する場合は SOQL を使用します
注意点
- SELECT * が使えない
- 明示的に SELECT 句に指定してない項目に null が入っている(先輩からの口伝なので未確認)
SOSL
salesforce Object Search Language
複数のオブジェクトを対象に項目を検索する場合は SOQL を使用します
注意点
- Big Object はサポートされない
ガバナ制限
salesforce の開発は Apex という言語を通して、salesforce のプラットフォームで実行させることになります。 salesforce はマルチテナント方式なので、1 つのテナントで莫大なリソース(DB、メモリ等)を食われてしまうと他のユーザに影響があるので、それなりに制限をしましょうね、というのがガバナ制限です。
内容はこちら
Execution Governors and Limits
ちなみに
ここで世界の salesforce サーバ状況が一覧できる。
ちょっと面白い。
参考
- salesForce トレイル内の説明などから抽出