Power Platform は、メーカーが Power Apps 向けのビジネス ロジックを構築するためのさまざまな機能を提供します。 この記事では、主要な方法の概要を示し、Power Apps のビジネス ロジックを構築するための最適なアプローチを決定するためのガイダンスを提供します。
アプリで Power Fx を使用する
Power Fx は、Excel と Power Platform で共有されるローコードの関数型プログラミング言語です。 Power Platform コネクタと組み合わせて使用すると、メーカーはデータにアクセスし、カスタム アプリ ロジックを作成できます。 Power Fx は、次の特定に対応しています。
ライブ – キャンバス アプリは Excel スプレッドシートと同じように再計算されます。 ユーザーがアプリを操作すると、Power Fx はバックグラウンドでデータ要求を行い、Dataverse を使用してアプリの状態を最新の状態に維持します。
委任 - Power Fx は、可能な場合はいつでもサーバーに操作を委任することで、データ処理を最適化します。 Filter()、Lookup()、Search() などの関数により、サーバー側のデータ フィルタリングが可能になり、アプリの機能とユーザー エクスペリエンスをサポートするために必要なデータのみが取得されるようになります。 委任が不可能な場合、関数はブラウザの JavaScript 環境内でローカルに実行されます。
最適化済み Dataverse - Dataverse は Power Apps の主なデータ ストレージ オプションとして機能し、中間層が少ないため、直接アクセスと低レイテンシ アクセスを実現します。 Power Fx は、多対 1 および 1 対多の関連付けを含む、Dataverse のさまざまな関係タイプとも互換性があります。
オフライン - Power Apps モバイル アプリ により、Dataverse データのオフライン使用が可能になり、ユーザーは現場でアプリを使用してシームレスな接続を実現できます。 インターネット接続がある場合、オフライン中に行われたすべての変更が同期されます。 アプリの定義済みビジネス ロジックは、インターネットに接続していなくても動作し続けます。
アプリでクラウドフローを使用する
Power Automate は、Power Platform コネクタ エコシステム上に構築されたローコード ワークフロー サービスです。 Power Automate には、Power Apps 構築時に次の機能を追加します。
非同期 - Power Automate クラウド フローは本質的に非同期です。 つまり、フローが開始されると、キューイング システムを使用してさまざまなサブタスクが管理されます。 Power Automate の非同期性により、複雑なロジックのシーケンスを長時間実行するのに適しています。
詳細なログ記録 – すべてのフローは、実行時に何が起こったかを 実行履歴 の形式で記録し、追跡可能性を提供し、何が起こったか、なぜ起こったかの監査記録を保証します。
マルチコネクタ – マルチコネクタを作成することは可能ですが Power Apps ライブの性質によるロジック Power Appsコネクタの数が増えるとパフォーマンスが低下します。 これらの複雑なマルチコネクタシナリオは、Power Automate これにより、これらのケースをアプリ内のライブ実行からオフロードできます。
アプリに対して Power Fx とクラウドフローの間から選ぶ
Power Apps で ビジネスロジックの開発に Power Fx を使うことをお勧めします。 これは強力なツールですが、他のツールを統合する方が適切なシナリオもあります。
低レイテンシーのユースケース
Power Fx は Power Apps の低遅延を実現することに優れています。これはレスポンシブなビジネス ロジックを開発するための最適な選択肢となります。 ただし、実際に発生するレイテンシは、操作の複雑さや処理されるデータの量によって異なる場合があります。 これは理解しておくことは重要ですが、Power Fx 迅速なやり取りを促進できますが、アプリケーションの設計と目的は全体的なパフォーマンスにおいて重要な役割を果たします。 詳細については、このセクションの前の部分にある パフォーマンスと最適化に関する記事 をご覧ください。
データを効率的にアクセスするには、Dataverse と Power Fx の組み合が最も迅速な解決策を提供します。
詳細については、Microsoft Dataverse を使ったデータ コール フロー をご覧ください。
複雑なシーケンスと複数のコネクタの使用
さまざまなコネクタにまたがる複雑なアクションシーケンスを扱う場合、Power Automate は Power Apps からの処理を外部に委任するための効果的な非同期ソリューションとして機能します。 この非同期機能により Power Apps ワークフローを開始し、応答のために一時停止することなく他のタスクを続行します。
タスクの遅延を考慮してアプリエクスペリエンスを設計する
ユーザー体験を設計する際には、複雑なタスクの実行に伴う遅延を考慮することが重要です。
2 つの戦略があります。
タスクが完了するまでユーザー エクスペリエンスを一時停止し、進行状況を視覚的に表示します。
複雑なタスクを Power Automate にオフロードすることで、ユーザー エクスペリエンスが中断されることなく継続されます。