MoreBeerMorePower

Power Platform中心だけど、ノーコード/ローコード系を書いてます。

モダンコントロールに関する新機能「Optimize for devices」

Power Apps のキャンバスアプリでプレビュー提供されているモダンコントロールに関する新機能が Authoring version 3.23112.10 で追加されましたのでご紹介です。

モダンコントロールがプレビュー/実験的機能として追加された当初、アプリ作成者の不満の1つはモダンコントロールのフォントが小さすぎる(設定できない)ことでした。PCブラウザーで利用する場合にはそれほど気にならないサイズでしたが、特にモバイルデバイス (Android, iPadOS, iOS) で利用する際には文字が小さい、コントロールが小さいため実用するにはなかなか厳しく、モダンコントロールの利用をあきらめていたケースもあったかと思います。

その後、フォントサイズを変更するプロパティが追加され、またアプリを実行している環境情報(OSタイプ、useragent string等)がアプリ側から参照できるようになったことで、アプリ開発者側で工夫をすることで実用に耐えるような設定が可能になりました。

Power Apps のホスト オブジェクト - Power Platform | Microsoft Learn

今回追加されたモダンコントロールに関する新機能「Optimize for devices」ではさらに一歩踏み込んで、機能を有効化することでアプリを実行しているデバイスに最適な表示とパフォーマンス改善を得ることができます。

実際、機能を有効化したアプリと無効化したアプリを見比べてみましょう。2つは機能の有効/無効以外はすべて同じ設定です。

比べてみるとコントロールの見た目、フォントサイズ、(若干)レイアウトが変更されていることがわかります。チェックボックスは〇になっていたり、テキスト入力が下線だけになっていたり。一番大きく変わったのがDate Pickerです。

モダンコントロールではおよそ指先で操作するのが困難だった(しかもフォントサイズでどうにもならなかった)カレンダー表示がモバイルでも無理なく操作できるコントロールになりました。また、カレンダー上では左右のスワイプアクションも有効です。

これでアプリ作成者は実行されるデバイスを意識することなく、モダンコントロールを利用したアプリ、レスポンシブデザインを取り入れたアプリをこれまでよりも容易に作成することが可能になります。

注意事項

非常に素晴らしいアップデートですが、注意事項もあります。 (以下は投稿時点 2023/11/14 での制限・仕様です)

注意事項1 - 対応するコントロールが少ない

残念ながらOptimize for devicesによってすべてのモダンコントロールが最適化されるわけではありません。投稿時点では以下の 6 (+1) コントロールが利用可能です。

  • ボタン
  • チェックボックス
  • Date picker
  • フォーム
  • テキスト (ラベル)
  • テキスト入力
  • (トグル)

トグルについては対応しているはずなのですが、うまく表示されていませんでした。対応するコントロールは今後も追加されると思われますが、コントロールの挿入から検索ボックス横のフィルターアイコンを押して「Device optimized」を選ぶことで探し出せます。

まだ対応コントロールが少ないので、今利用しているアプリで機能を有効化することはできませんが、今後に期待しましょう。

注意事項2 - スクリーンのプロパティが効かない

今回の新機能は説明文によるとアプリ内の各スクリーンに「デバイスに最適化するかしないか」のプロパティが追加され、スクリーンごとにこれを切り替えられるようでした。

実際、スクリーンのプロパティには「Optimize for devices」(既定でOFF)の選択肢がありますが、これをOFFにしてもONにしても変わらず、デバイスに最適化されたアプリになりました。

これはバグっぽいので今後修正されると思われます。

おわり

Power Appsのキャンバスアプリを"いかにもPower Apps”っぽくなくすモダンコントロールに関して、アプリ開発者がこれを取り入れやすくなる新機能についてご紹介しました。

繰り返しですが、この機能のメリットはアプリ開発者がアプリの実行環境を意識しなくてもよくなること、レスポンシブアプリを作りやすくなることだと思います。

また、今回検証していませんが、パフォーマンスもこの機能により改善されるということなので、アプリが重い~とかメモリすごいくうみたいな悩みがあれば、改善されていくかもしれません。