Power Appsは万能なツールではありません。
エンジニアが作成するプログラムと比較すると機能は貧弱でメンテナンス性は悪く、プロから見たらデメリットだらけな環境らしいです。
そこで今回は、現役のPower Platform開発者が実際に感じるデメリットを紹介します。
Power Appsのデメリット
思いつくままに挙げていきます。
大量のデータの取り扱いは難あり
Power Appsでは、標準だと500件まで、上限でも2,000件までのデータしか一度に読み込むことができません。
それ以上のデータを取り扱う場合はあらためて読み込みが必要になりますが、そこに委任の問題も絡んできます。委任問題を回避できない場合は、どんなに頑張っても2,000件以上のデータが取得できません。
2,000件というのはExcelでいうところの2,000行です。
例えば自部署の20人が使用する日報アプリを Power Apps で作ったと仮定し、1日20件データが蓄積され、1ヶ月20日間の計算として月のデータ件数は400件です。
委任できない処理を含んだアプリの場合、わずか5ヶ月(400件×5ヶ月:2,000件)でそのデータソースは上限2,000件を迎えてしまい、新たに別のデータソースと切り替えなければいけません。
仮に委任可能な処理を施していたとしても、SharePoint Listsはデータ量が多くなるとパフォーマンスが低下する性質があるため、上限3,000件〜4,000件に留めることになります。
データベースにDataverseを使えばこれらの問題は解決されますが、有料契約が必要です。
パフォーマンスが悪い
1つのアプリに500を超えるコントロールを配置すると、アプリの挙動が極端に悪くなります。
コントロールというのは、Label1、TextInput1、DropDown1がアプリ内に存在していれば、コントロールは3ということです。
アプリが複雑化するほどコントロールが増大し、Power Apps Studio(アプリを作成する画面)がもっさりしたり、アプリのパフォーマンス低下に繋がります。
他にもデータソースが30を超えたり、スクリーンが20を超えてくると同様にパフォーマンスが低下します。
大量のデータはギャラリー表示するなどして対策が必要になります。
無い機能は使えない
Power Appsに備わっていない機能はどうやっても追加することができません。
一般的なプログラミングであれば、卓越した技術を持った人の個人開発ソースを使うなどして機能の追加が実現できたりするらしいのですが、Power Apps では Microsoft が動いてくれない限り、どうやっても拡張性が限られます。
MS製品に依存してしまう
Power Appsは基本的に外部サービスとの連携がほとんどできないため、どうしてもMicrosoftに依存したツールになります。
ゆえに大規模なアプリは作れない
ここまでに挙げた理由から、Power Apps で大規模なアプリ作成はできません。
プログラミングの専門知識を必要としない Power Apps は、参入障壁が低い代わりに出せるパフォーマンスも限られます。
既存業務のシステムをすべて Power Apps に置き換えていくなんてことは天地がひっくり返っても無理です。
ネット速度に依存してしまう
テザリングで作業をしていると速度が遅くなりますが、そういう時に Power Apps Studio で作業すると、正しく入力したはずの Power Fx が反応しなかったり、保存が途中で止まってしまうことがあります。
開発するにあたってネットの速度は非常に重要だと感じます。
(基本的に)社内でしか使えない
Power Appsは基本的に社内のみでの使用に限られます。
取引先とアプリを共有したければ、次の条件をすべて満たす必要があります。
- 先方の企業がPower Appsを使えるライセンス契約をしていること
- データベースを共有していること
- アプリを共有していること
バージョン管理ができない
Power Apps はバージョンを分けて保存することができません。
上書き保存したら過去のデータには戻れないため、特定のタイミングでZipでエクスポートしておくなど事前の準備が必要です。
費用対効果が小さい
苦労して作ったアプリも、実はそれ1つだけでは業務改善に与えるインパクトは非常に小さかったりします。
そもそも Power Apps は市民開発のための手段で、少ない労力でかゆいところに手が届くツールです。
何十時間もかけて作ったアプリのわりには、削減時間がたった数時間しかないなんてこともよくあります。
数をたくさん作らないといけません。
英語ができないと非効率的
開発でわからないことをネット検索するにしても生成系AIを使うにしても、英語ができるのとそうでないのとでは、得られる情報に天地の差があります。
プログラミングは英語を使いますので、ネット上は必然的に英語での情報が多くなります。
Power Apps も同じで、英語に抵抗感がなければ、ぜひ英語のブログ記事や英語のYouTubeを積極的に使うことをおすすめします。
デメリットを理解した上で使うもの
ここで挙げたデメリットを理解した上で Power Apps と付き合っていく必要があります。
できることとできないこと、得意なことと不得意なことを理解し、割り切りが必要です。
どんなに頑張っても Power Apps には限界がありますし、純粋なプログラミングには逆立ちしても機能面で勝つことはできません。
Power Apps(Power Platform)が得意とするのは、エンジニアに高いお金をかけて発注するまでもない、身近な業務改善のためのフィールドです。
日報をまとめるだけのアプリを、うん百万円も払って外注することはありませんし、社内承認が得られるはずがありません。
でも日報のExcel管理が大変だし、集計が手間だし、手間に感じているかもしれません。
それなら自前で好きな仕様で作ってしまおうというのが Power Apps です。
単純なCRUD(登録(Create)、読み込み(Read)、更新(Update)、削除(Delete))のアプリでいいなら、10分で出来上がってしまいます(見た目や使い勝手はともかく)。
市民開発とはこういう地道な事柄の積み重ねだと思っています。