Power Apps Component Framework について理解する

完了

Microsoft Power Apps component framework を使用すると、Power Apps アプリケーション内で使用できる再利用可能なコンポーネントを作成できます。 開発者やアプリ開発者は、標準のコンポーネントではニーズが満たされないときは、コンポーネント フレームワークを利用してコード コンポーネントを構築することができます。 Power Apps Component Framework が存在する前は、作成者は HTML Web リソースを利用して、カスタム プレゼンテーションのフォームをモデル駆動型フォームに提供する必要がありました。 現在では、より最新のフレームワークを使用することにより、他の方法ではアクセスできなかったり、さらに悪いことには Microsoft がサポートしていなかったりするような、豊富な機能をアプリに公開することができます。

たとえば、既存の画面は次の図のようにレンダリングされる場合があります。

カスタム Power Apps コンポーネントを使用しない既存の画面のレンダリングを示すスクリーンショット。

しかし、カスタム Power Apps コンポーネントを使用するようにアプリを再構成した場合は、アプリは次の図のようになります。

カスタム Power Apps コンポーネントを使用して再構成した画面のスクリーンショット。

Power Apps Component Framework (PCF) は、カスタム コンポーネントの作成と使用をサポートすることで、チームの共同開発を支援します。 モデル駆動型アプリとキャンバス アプリはどちらも PCF コントロール オプションを使用できます。 完全なカスタム コントロールを作成するにはプロの開発者が必要ですが、あらゆるスキル レベルの作成者はコントロールを消費し、全体的なソリューションの一部として含めることができます。

キャンバス アプリの PCF コントロールは現在パブリック プレビュー中です。 Power Apps コミュニティのキャンバス アプリのギャラリー コンポーネントでは、非生産的なソリューションで使用するためのサンプルや、アイデアを引き出すサンプルを見つけることができます。

モデル駆動型 PCF コンポーネントでは、作成者は、はい/いいえのような列を、別の視覚エフェクトでユーザーに提示することができます。 別の視覚エフェクトを使用することで、ユーザーのモバイル エクスペリエンスが向上する場合もあります (ラジオ ボタンではなく、タッチスクリーン コントロールの使いやすさについて考えてみてください)。 また、フォーム上の標準コントロールの外観を分割するために、別の視覚エフェクトを提示することもあります。

Power Apps Component Framework の利点

Microsoft は、Power Apps コンポーネントが最新の Web プラクティスをサポートする堅牢なフレームワークを基にして構築されていることを保証するため、多くの作業を行っています。 その結果としてもたらされる利点の一部を次に示します。

  • コンポーネントのライフサイクル管理、コンテキスト データ、メタデータなどの機能を公開する、豊富なフレームワーク API へのアクセス
  • React や AngularJS などのクライアント フレームワークのサポート
  • Web API によるシームレスなサーバー アクセス、ユーティリティとデータ書式設定のメソッド、カメラや場所やマイクなどのデバイス機能に加え、ダイアログ、ルックアップ、フルページ レンダリングなどの簡単に呼び出せる UX 要素
  • パフォーマンスの最適化
  • 再利用可能性
  • 画面サイズ、デバイス、表示方向を問わずに最適な表示と操作エクスペリエンスを提供するための応答性に優れた Web 設計原則の使用
  • すべてのファイルを 1 つのソリューション ファイルにバンドルする機能

モデル駆動型アプリには、サード パーティ製品の完全なエコシステムがあります。 その多くは、Microsoft の AppSource にあります。 AppSource では、独立系ソフトウェア ベンダー (ISV) が作成および管理している製品だけでなく、Microsoft が構築したアドオンも提供しています。 AppSource には、試用と評価に使用できる何千ものアプリがあります。

Microsoft AppSource ページのスクリーンショット。

Microsoft Power Platform と Dynamics 365 コミュニティには、作成者を支援するツールを提供してきた長い歴史があります。 これらのツールは多くの場合、無料のオープンソースであり、さらなる共同作成者を積極的に求めています。 これらのコミュニティ ツールは、ソリューション内の一般的なユース ケースの難易度を下げるためのユーティリティを提供します。 これらのツールはコミュニティで評価されていますが、独立して管理されている点に注意してください。したがって、全体的な戦略に含めることが適切であるかどうか、十分に検討することをお勧めします。