色々あるPower Apps について (Microsoft Power Apps Advent Calendar 2023/12/1)

はじめに

この記事は、Power Apps Advent Calendar 2023 12月1日担当分の記事です。

アドベンドカレンダーの1日目ということで、色々あるよねPower Appsというところをざっくりと記事にしました。
この後の記事も楽しみですねー。ぜひカレンダーの購読登録をお願いいたしますー!

Power Appsの種類

まずは基本の3つの種類ですね。

  1. キャンバスアプリ
  2. モデル駆動型アプリ
  3. Power Pages(旧ポータル 現在は独立された)

公式:Power Apps とは – Power Apps | Microsoft Learn

キャンバスアプリ

公式より抜粋

キャンバス アプリは、空白のキャンバスを使用して高度にカスタマイズされたインターフェイスを作成し、200 を超えるデータ ソースの中から選んだソースに接続するというユーザー エクスペリエンスから始まります。 Web、モバイル、タブレット PC アプリケーション用のキャンバス アプリを構築できます。

キャンバス アプリには、ユーザー エクスペリエンスやインターフェイスを自由にアレンジできる柔軟性が備わっています。 アプリのルック アンド フィールの方向性について創造性とビジネス感覚を発揮することができます。


という感じで、柔軟にデザイン性のある機能的なアプリをローコード(Power Fx)で作れます。
SharePointやエクセル、Outlookやその他多数の各種コネクタやコントロールを使って色々作れます。もちろんPower Automateと連携も可能です。
スマホ版、タブレット版レイアウトがあり、いまは自動作成もしてくれるレスポンシブ対応アプリが以前よりかなり楽に作成できるようになっています。
プレミアムな機能(プレミアムコネクタやカスタムコネクタ、Dataverse、AIBuilderなど)を使用する場合はスタンドアロンライセンスが必要です。標準に使えるものはM365ライセンス範囲で作成、使用が可能です。
「Power Appsで○○作った」というような記事ではこのキャンバスアプリを指していることが多いですね。
公式:キャンバス アプリの構築の概要 – Power Apps | Microsoft Learn

モデル駆動型アプリ

公式より抜粋

モデル駆動型アプリは、データ モデルから始まります。Dataverse のコア ビジネス データとプロセスの形状を基に構築し、フォーム、ビューなどのコンポーネントをモデル化します。 モデル駆動型アプリを使用すると、デバイス間の応答性が高い優れた UI を自動的に生成できます。

モデル駆動型アプリを作成すると、Dataverse の機能をすべて使用して、フォーム、ビジネス ルール、プロセス フローを短時間で構成できます。 モデル駆動型アプリは Power Apps サイトから作成します。


という感じで、データモデル(テーブル)からビュー、フォームを作って、その他コンポーネントを追加するなどで、ノーコードで大規模データなどにも対応したアプリを作成できます。レスポンシブも標準対応です。
データソースはDataverse固定で使用にはスタンドアロンライセンスが必要となります。

Dataverseにはその他ロジック機能やセキュリティ機能、データ連携などなど豊富は機能が使えます。
また、カスタムページなどでキャンバス同等の機能を追加したり、プロ開発(プラグインやクライアントスクリプトなど)で拡張することも可能です。もちろん Power Automateとの連携も可能です。

公式:Power Apps を使用したモデル駆動型アプリの構築の概要 – Power Apps | Microsoft Learn

Power Pages

公式より抜粋

Microsoft Power Pages は、モダンな外部向けビジネス Web サイトを作成、ホスティング、および管理するための、安全なエンタープライズグレードのローコード サービスとしてのソフトウェア (SaaS) プラットフォームです。 Power Pages は、ローコード作成者でもプロの開発者でも、Web ブラウザーやデバイスで動作する Web サイトを迅速に設計、構成、公開できます。

という感じでこちらは外部向けのビジネス用WEBサイトを作成できます。
以前はPower Apps ポータルというものでしたが、さらにパワーアップしてPower Pagesとして独立された感じです。
Webページはテンプレートや専用のデザインスタジオでサクッと構築できるようになっています。またVisual Studio CodeでLiquidやJavaScriptを使ったカスタマイズも可能です。
データソースやセキュリティなど内部的な機能はDataverseの機能が使用されていて、認証まわりなどシンプルにできるようにうまく仕組みが作られています。こちらも独自のライセンスが必要となります。

公式:Power Pages とは | Microsoft Learn

さらにあるキャンバスアプリ系

さらにキャンバスアプリ系の中でも通常以外のものがあります。

  • Dataverse for Teams 版のキャンバスアプリ
  • SharePoint リストのフォームカスタマイズ
  • カスタムページ(モデル駆動型用)

いずれもローコード(Power Fx)で実装するものです。次項でこちらの概要を紹介します。

Dataverse for Teams版のキャンバスアプリ

公式:Microsoft Dataverse for Teamsの概要 – Power Apps | Microsoft Learn

こちらはTeamsアプリ上で使えるキャンバスアプリという感じです。
Teamsへ環境を作成してデータソースにはDataverseのTeams版(Dataverse for Teams)が使用できます。
また、モデル駆動型は作成できません。

通常のDataverseのライト版のような機能ですが、テーブル、リレーションや基本的な列を使用でき、
SharePointリストでは委任対象外のSearch関数やIn関数なども委任して使用可能です。また、Teamsの一部プロパティをアプリ内で使用できます。

データソースにライトなDataverseを使えるのが魅力ですが、アクセス権限はTeamsのロールの範囲で制御(所有者、メンバー、ゲスト、同僚)、容量制限は2GB、100万行まで、その他にもしきい値があるので、用途としてはチームや部門単位での内部的なアプリとして使用する。規模が大きくなったらDataverse版へ移行するようなイメージです。(Dataverseへのアップグレードにも対応)
Dataverse for Teams vs Dataverse – Power Apps | Microsoft Learn

こちらは通常のキャンバスより後に出てきた(2,3年前??)のですが、その際に進化したFluent UI コントロールが採用されていて、見た目やプロパティが若干異なります。
通常キャンバスアプリに慣れていると若干使いずらいですがまあ許容範囲かと思います。
また、いまはキャンバスでも主流?になってきているレスポンシブ対応が標準です。
Microsoft Teams の Power Apps アプリで Fluent UI コントロールを使用する – Power Apps | Microsoft Learn

→さらに現在はモダンコントロール(プレビュー)で出てきているのですが、こちらではMicrosoft Fluent 2 デザインを採用ということでさらにデザインが変わってきています。今後はこのモダンコントロールに各アプリが統一されるのかなーと思われる。※モデル駆動型もモダンなコントロールになっている

以下は以前にDataverse for Teamsで作ったアプリと記事です。
参考記事:【ワンランク上のPower Apps】 スマホ対応 レスポンシブ レイアウト #PowerApps – Qiita

自動生成も出来ます。最近のキャンバスアプリの自動生成レスポンシブとはちょっと違いますが似てます。
テーマもTeamsカラーが基本となってます。変更も可能です。

SharePoint カスタマイズフォーム

公式:SharePoint リスト用のフォームをカスタマイズする | Microsoft Learn

こちらはSharePoint リストの標準のフォーム部分をPower Appsとしてカスタマイズできるものです。
通常のキャンバスアプリとは異なり、フォーム部分のみですが、リスト(ビュー)はSharePointの機能をそのまま使用し、フォームのちょっとしたカスタマイズをしたい場合など有用です。

SharePointのコンテキストを使用して、保存時、新規、編集、表示時などの制御が出来ます。
条件により列の表示非表示や有効無効を制御したり、より横に広いフォームにしたり、ボタンを付けてロジックを実装したり、Power Automateを呼び出したりなどのカスタマイズが可能です。

NOTE以前はSharePoint リストのフォームのカスタマイズはInfoPathが使われていましたが、廃止になりPower Appsでのカスタマイズを推奨されていました。現状はレイアウトの構成でJSONである程度は調整可能です。
今後のアップデートでファンタスティックフォームが登場する予定なので、そうなるとそっちを使用するようになるかもしれませんね。

カスタムページ(モデル駆動型用)

こちらはモデル駆動型アプリに統合できるキャンバスアプリ同等のカスタムページというやつです。
公式:カスタム ページを使用して、モデル駆動型アプリとキャンバス アプリを統合する – Power Apps | Microsoft Learn

モデル駆動型アプリの作成画面からカスタムページを選択して作成します。

従来からキャンバスアプリをモデル駆動型のフォームに埋め込むことが出来ましたが、こちらはより統合され、ページとしてキャンバス同等のアプリ(ページ)を追加できます。
一部コントロールが非対応だったり、こちらもFluent UIコントロール(Teams版と近い)だったりと違いはありますが、おおむね近い実装が出来ます。コネクタはキャンバスアプリ同様に対応していて、Teams版同様にこちらもレスポンシブ対応が初期値です。※モデル駆動型もレスポンシブ対応ですし
モデル駆動型アプリのカスタム ページの設計 – Power Apps | Microsoft Learn

モデル駆動型アプリの標準機能でカバーしきれない機能的な部分をカスタムページで実装するイメージかと思います。
ローコード(Power Fx)で実装が出来ますので、キャンバスアプリで培った技術が活かせます!
さらにライセンスもモデル駆動型アプリ分のみでOK、カスタムページ部分の共有も不要です(埋め込みキャンバスだと別途共有が必要)
公式にも埋め込みキャンバスアプリよりこちらを推奨されているのでお勧めです。

さらに、Power Apps カード (Cards)

さらにさらにカード(英語ページだとCards)というのもあります。
公式:Power Apps のカードの概要 – Power Apps | Microsoft Learn

Power Apps カード(プレビュー) は、エンタープライズ データとワークフロー、と他のアプリケーションがコンテンツとして使用できるインタラクティブで軽量な UI 要素を備えたマイクロアプリです。 これらは Power Apps エコシステムの一環であることから、カードは Power Fx を通じてビジネス ロジックとPower Platform コネクタを通じてビジネス データと統合できます。 カードを使用すると、コーディングや IT の専門知識がなくても、リッチで実用的なアプリをすばやく作成および共有できます。

以前からよく利用される「アダプティブカード」のPower Fx版という感じでしょうか。
アダプティブカードよりPower Fx得意な方向けなのかなーという印象です。
参考:Teams 向けアダプティブ カードの概要 – Power Automate | Microsoft Learn

自分も正直あまり触ったことがないです。Power Fxでカードを作ってTeamsへ投稿できる。そんなイメージです(ざっくり)
また、最近だとPower Autoamteから使用してTeamsへ投稿も出来るようです(プレビュー)
公式を見るとデータソースには現状Dataverseのみ使用可能なようですね(その場合はプレミアムになる)
普通はデータソースは使わずにシンプルなロジックでカードを作る感じでしょうか。
Teams でカードを共有する – Power Apps | Microsoft Learn

色々あるPower Apps達のイメージ図

最後に今度の登壇用に作成しているイメージ図です。(この部分は主題じゃないので先出ししちゃいました💦)
大体こんな感じかなと。ざっくりなのでご容赦ください。
結構わかりやすいですよね??カラフル過ぎっすかね?ついでにPower Automateも入れています。

おわりに

今回は色々あるPower Apps達を自分なりにご説明してみました。
概要レベルの内容ですし説明不足な点もあるかと思いますが、Power Appsって言っても色々あるんだねーというご参考にしていただければと思います。それでは。

ぴーたくん

ひとえにPower Appsって言っても色々あるんだねー

関連

JPPC2023 Japan Power Platform Conference 2023 – AP09セッション へカスタムページ・モダンコマンドバーで登壇しました! 

PowerFx カスタムページ・コマンドバー関連の記事

この記事は役に立ちましたか?

もし参考になりましたら、下記のボタンで教えてください。

ヨウセイ

ヨウセイ

一般職からSharePoint、C#、.NET系技術者へ、そこからPower App、Power Automate技術者へと転身。 ワンランク上のおっさんはPower Appsでシステム開発が出来る〜! qiitaや自社HPでも技術ブログを書いていました。

関連記事

コメント

この記事へのコメントはありません。

CONTENTS