プラグインの使用シナリオ
ベスト プラクティスとして、コードを記述することがビジネス アプリケーションの目的の機能を実現するための最後の手段であるという考え方から、モデル駆動型の PowerApp をカスタマイズするアプローチをお勧めします。 特定のシナリオに対して最適なアプローチを決定する際には、保守性、移行性、安定性、パフォーマンスなどの品質区分を計算に入れる必要があります。 これらの品質区分を考慮することは、すべての Power Apps 開発者にとって最も重要なスキルの 1 つです。
ビジネス ルールとプラグインの比較
ビジネス ルールによっては特定の目標を達成できなかったり、複雑であったりすることから、開発者はプラグインでロジックを記述することを選択する場合があります。 1 つのシナリオとして、複雑な "if/then/else" 条件を switch ステートメントを使用することでより簡単に実現できる場合や、ビジネス ルールを使用してでは簡単にはアクセスできない動的な値を扱うときなどが考えられます。 このシナリオでは、クライアント スクリプトも選択肢の 1 つです。
ワークフロー/フローとプラグイン/クライアント スクリプトの比較
既存の制限により、特定のアクティビティを実現するにはプラグインを開発する状況が出てくる場合があります。
次のテーブルは、プラグインまたはクライアント スクリプトとワークフローのどちらを使用した方がより適切であるかを判断するのに役立ちます。
状況 | ワークフロー | プラグイン | クライアント スクリプト |
---|---|---|---|
同期 | いずれか | いずれか | 同期 |
外部データへのアクセス | いいえ | はい | はい (制限あり) |
メンテナンス | ビジネス ユーザー | 開発者 | 開発者 |
実行できる主体 | ユーザー | ライセンス供与されたユーザーまたは現在のユーザー | ユーザー |
オンデマンドで実行できる | はい | いいえ | いいえ |
子プロセスをネストできる | はい | はい | いいえ |
実行段階 | Before/After | Before/After | Before/After |
トリガー | 作成、フィールドの変更、ステータスの変更、オーナーへの割り当て、オンデマンド | 作成、フィールドの変更、ステータスの変更、オーナーへの割り当て、削除、およびその他の多くの特殊なトリガー | フィールドの変更またはフォームの読み込み |