Apex とは?
Apex は、開発者が Salesforce サーバでフローとトランザクションの制御ステートメントを API へのコールと組み合わせて実行できるようにした、強く型付けされたオブジェクト指向のプログラミング言語です。Java に似た、データベースのストアドプロシージャのように動作する構文を使用する Apex により、開発者は、ボタンクリック、関連レコードの更新、および Visualforce ページなどのほとんどのシステムイベントにビジネスロジックを追加できます。Apex コードは、Web サービス要求、およびオブジェクトのトリガから開始できます。
| 使用可能なインターフェース: Salesforce Classic (使用できない組織もあります) および Lightning Experience |
| 使用可能なエディション: Enterprise Edition、Performance Edition、Unlimited Edition、Developer Edition、および Database.com Edition |
Apex は、言語として次の特徴があります。
- 統合されている
- Apex では、次の一般的な Lightning プラットフォームイディオムが標準でサポートされます。
- INSERT、UPDATE、および DELETE など、組み込み DmlException 処理を含むデータ操作言語 (DML) コール
- sObject レコードのリストを返す、インラインの Salesforce Object Query Language (SOQL) と Salesforce Object Search Language (SOSL) のクエリ
- 複数のレコードの一括処理を可能にするループ
- レコード更新の競合を回避するロック構文
- 保存された Apex メソッドから構築できる、カスタムの公開 API コール
- Apex が参照するカスタムオブジェクトまたはカスタム項目を編集または削除しようとすると発行される警告とエラー
- 使いやすい
- Apex は、変数および式の構文、ブロックおよび条件ステートメントの構文、ループ構文、オブジェクトおよび配列の表記など、よく知られた Java のイディオムに基づいています。Apex が新しい要素を導入する場合、理解しやすい構文およびセマンティックを使用して Lightning プラットフォームの効率的な使用を促進します。その結果、Apex は、簡潔で記述しやすいコードを作成します。
- データ指向
- Apex は複数のクエリや DML ステートメントを Salesforce サーバ上の 1 つの作業単位にまとめるように設計されています。これは、開発者がデータベースのストアドプロシージャを使用して複数のトランザクションステートメントをデータベースサーバにまとめるのと同じ要領です。他のデータベースのストアドプロシージャと同様に、Apex は、ユーザインターフェースでの要素の実行はサポートしていません。
- 正確である
- Apex は、オブジェクト名や項目名などのスキーマオブジェクトを直接参照する、強力に定型化された言語です。参照が無効である場合は、コンパイル時にすぐにエラーが発生します。アクティブな Apex コードが要求しているときに削除されないように、メタデータのすべてのカスタム項目、オブジェクト、クラス連動関係を保存します。
- ホストされている
- Apex は、すべて Lightning プラットフォームで解釈、実行、および制御されます。
- マルチテナント型
- 他の Lightning プラットフォームと同様、Apex はマルチテナント環境で実行されます。そのため、Apex ランタイムエンジンは、回避コードから保護されるよう設計されており、共有リソースが独占されないようになっています。制限事項に違反するコードは失敗し、わかりやすいエラーメッセージが表示��れます。
- テストが容易
- Apex には、単体テストの作成と実行のサポートが組み込まれています。コードがどれだけカバーされているか、コードのどの部分を効率化できるかを示すテスト結果が含まれます。Salesforce では、プラットフォームのアップグレードの前にすべての単体テストを実行することによって、すべてのカスタム Apex コードが期待どおりに動作することを確認しています。
- バージョニングされている
- Apex コードを異なるバージョンの API に保存できます。これにより、動作を維持できます。
Apex は、Performance Edition、Unlimited Edition、Developer Edition、Enterprise Edition、および Database.com に含まれています。
