Open2
PowerApps
Power Appsの守備範囲は狭い
下記が守備範囲
- 複雑な条件分岐を伴わない小規模なアプリの開発
- 各種API等の呼び出しを提供するため窓口アプリ
- CRM、ERP等の外部システムを連携、データの表示、更新等
- SharepointやD365等のアドオン的なアプリの開発
関数がないので、Excelのような式が散在する。
コメント・型定義力も弱いのでPowerBI・Fabric系譜の記述力ほどもない。
Power Appsで扱うデータ
基本的にDataverseと呼ばれるデータベースに保存し、定期実行やイベントを検知して実行する処理はPower Automateで作成します。
他にも専用のBIツールであるPower BIや、外部にサイトを公開するためのPower Pagesなどが用意されています。
Dataverseの代わりにSharePointのListやOneDrive上のExcelにデータを保存したり、TeamsやOutlookに通知を送ったりと、Microsoftのサービスならある程度スムーズに連携することができます。
注意
DataverseはSQL ServerにPower Platformで使用するためのラップを施したものです。
そのため、DataverseをMS外のサービスと連携させて使うことは基本不可能。
開発体験
大変参考になる記事でした
概要
- 簡単なフォームやページなどのフロントエンドアプリケーションを開発する
- 予め用意された(典型的な)UIコンポーネントできるもの
- APIを処理するようなバックエンドは不可
- 処理の内容はPower Fxという専用の言語で実装します。
- HTMLやJavaScriptは使用できない。
- Power FxはExcelの関数に似た文法の言語です。
- 変数を定義したりIfやWhileである程度の処理が可能。
作り方
- キャンバスアプリ:自由度高く工数もかかる
- モデル駆動アプリ:Dataverseに強く紐付いた高機能のものがあります。(データモデルに強く紐づくため制約がある)
注意
コンポーネントはそれぞれプロパティを持ち、フォントの色やサイズ、クリックした時の処理、ページ遷移時の動作などを設定することができます。GUI画面からマウス操作で作成していくため操作の習得・作成には工数必要。
BAD
- 関数を定義したりクラスを作成することができません
- 複数人で同時に編集することはできません。
- Git管理ができない
- ExcelファイルをDBの代わりに使用することは不可能
- 委任という概念を理解してデータ周りのお作法を理解する必要がある
- SQL使えないので、Power Fxを用いて Filter, LookUp AddColumns する
結論
ヤバい奴が案件の中身を理解しないで可用性無いシステムで解決する合意をしてくることがやばい。
なのでPowerAppsというツールに罪はないと思った。強いて言えば、色々できないことが多々あるのだからPowerとか強い言葉を使うな… KINTONEもデメリットをきちんと伝えろ!