
近年、様々な業界のDX推進に伴い、ローコード開発ツールが登場してきました。
その中の一つは、Microsoft社が提供する製品ーPower Platformです。
Power Platformには
- Power BI
- Power Apps
- Power Automate
- Power Virtual Agents
- Power Pages
の五つのアプリケーションを利用できますが
本記事では、Power Apps の主要な機能、使用場面、メリット、デメリットについて、私の経験に基づいて説明します。
Power Appsの利用場面
Power Appsの特徴としては、ローコードでアプリを開発できる点がこの製品の強みです。
ローコードでアプリを開発することは、つまり、Webエンジニアのようにフロントエンド、バックエンド、データベースの知識や経験を持っていない非IT人材の従業員でも簡単なアプリを開発・作成することができるということです。
非IT人材の従業員がアプリケーションを開発することを、市民開発(Citizen Development)と呼びます。一般的にはPower Appsなどのローコード開発ツールが市民開発に利用されます。
Power Appsを利用するには
通常のWebアプリケーション開発とは異なり、Power Appsを利用するにはライセンスを購入する必要があります。
Power Appsのライセンスには様々な種類がありますが、本記事では割愛します。
Power Appsで開発
Power Appsではキャンバスアプリとモデル駆動型アプリの二種類のアプリを作成することができます。
キャンバスアプリ
市民開発においては、キャンバスアプリを使って開発することが多いです。
理由としては、キャンバスアプリの実装は比較的には自由度が高く、コントロールを配置するのとPower FxというPower Platformに使用される独自のコードを書くことで、様々なビジネスニーズに沿って適切なアプリを開発することができます。
さらに、キャンバスアプリで開発されるアプリのデータソースは、Dataverseだけでなく、SQL Server、SharePoint、OneDriveなどさまざまな種類があり、汎用性が高いと言えます。
注意点として、コードを記述してカスタマイズすることは可能ですが、複雑な機能を実装するとパフォーマンスが低下する可能性があります。そのため、なるべく複雑な機能の実装は避けるよう心掛けましょう。
キャンバスアプリで以下のようなアプリを作成できます:
- 勤怠管理アプリ
- 休暇申請アプリ
- マスタデータ管理アプリ
- KPI管理用アプリ
・・・など
Power Automateフローを併用することで、より幅広いビジネス要件に対応でき、アプリケーションの品質を向上させることができます。(例えば、承認フローの導入やメール通知機能など)
モデル駆動型アプリ
モデル駆動型アプリは、データ操作やデータ閲覧に特化したアプリです。
キャンバスアプリはパフォーマンスを考慮し、2000件以上のデータを表示させないように制限を設けていますが、モデル駆動型アプリにはこのような制限はありません。
注意点として、モデル駆動型アプリはデータソースとしてDataverseしか使用できません。また、Power Fxコードによるカスタマイズができず、UIも自由に配置することが難しいため、アプリケーション開発のソリューションとしてはあまり優秀ではないと個人的に思います。
例えば、アプリケーションを実装する際にデータ登録機能にバリデーションを設ける場合、キャンバスアプリではPower Fxコードを記述することで簡単に実現できますが、モデル駆動型アプリでは実装がかなり難しいです。
キャンバスアプリと比べて開発の自由度が低く、モデル駆動型アプリをソリューションとして採用するメリットは少ないように見えますが、先述のようにデータ操作やデータ閲覧に特化しているため、Dataverseのデータを高速に読み込み、Dynamics 365と連携してデータを閲覧・操作する場合は、キャンバスアプリより相性が良いと思います。
Power Appsを使用するメリットとデメリット
前述ではモデル駆動型アプリとキャンバスアプリを簡単に紹介して比較してみました。
このセッションでは、Power Appsを使うメリットとデメリットについて解説します。
Power Appsのメリット
Power Appsを導入する利点としては以下となります:
- ローコードで開発できるため、IT知識のない人材でもアプリを開発できます
- PowerPointを作成する感覚でアプリのUIを設計できます
- 短期間でアプリを開発できます
- DataverseやSharePointなどをデータソースとして使用するため、Dynamics 365とMicrosoft 365連携して活用できます
- クラウドサービスのため、セキュリティにかかる余計なコストを削減することができます
Power Appsのデメリット
一方、power appsのデメリットは以下となります:
- 外部ユーザーがアクセスできません
- 複雑なアプリを作成すると、パフォーマンスが大幅に低下する可能性があります
- UIが単調になりがちです
- アプリ使用するにはPower Apps のライセンスが必要です
- 要件に応じて Power Automate と併用する必要があり、その場合に Power Automate のプレミアムライセンスを使用すると、さらにコストがかかることがあります
- 共同開発はできません(厳密に言えば可能ですが、おすすめはしません。詳細は別の記事で紹介します)
まとめ
Power Appsにはキャンバスアプリとモデル駆動型アプリという二種類のアプリケーションが提供され
比較してそれぞれの特徴としては、
キャンバスアプリ:
- 多様なデータソースにアクセス可能です
- UIを自由に配置できます
- Power Fxコードを記述することで、アプリケーションを作成しカスタマイズできます
モデル駆動型アプリ:
- 接続できるデータソースはDataverseのみです
- コントロールにPower Fxコードを記述できず、UIも自由に配置できないため、キャンバスアプリと比べてカスタマイズ性が低いです
- Dataverseのデータを閲覧・操作するだけなら、キャンバスアプリよりもモデル駆動型アプリの方が相性が良いです
Power Appsを導入するにはメリットとデメリットがありますが、個人的には市民開発であれば導入する価値があると思います。
キャンバスアプリはMicrosoft社の独自言語であるPower Fxを使って開発するため、かなり癖がありますが、このような開発のポイントや注意事項については、別の記事に記載します。