Power Appsキャンバスアプリとモデル駆動型アプリの違い

Power Appsについて調べてみると様々なページがヒットしますよね。その中でキャンバスアプリとモデル駆動型アプリという2つの名前を目にしたことがあるのではないでしょうか?
「2つともローコードでアプリ開発ができるのは分かったけど結局どう違うのかが分からない」「Power Appsを使用してみたいけど、どちらが適しているのか分からない」という方も多いのではないかと思います。

そこで今回の記事では、実際に作成したアプリ画面をご紹介しながらキャンバスアプリとモデル駆動型アプリを比較しました。
それぞれに特徴があり、作成したいアプリの仕様によって重視するポイントも変わりますので、アプリやシステムを構築する際にはぜひ参考にしてみてください。

Power Appsの概要

まず、簡単にPower Appsの説明をしておきます。
Power Appsは、Microsoftが提供しているPower Platformというローコード開発ツールを構成するサービスの中の1つです。
Power Appsはアプリ開発ができるサービスであり、ローコードで従来よりも迅速に開発ができるのが特徴です。また、Microsoft製品との親和性が高いなどのメリットもあります。

Power Appsで作成できるタイプは2種類あります。
それが、「キャンバスアプリ」「モデル駆動型アプリ」です。
(※旧ポータルであるPower Pagesは、機能が独立したこと、Webサイトの作成で使用するタイプであることから本記事では触れていません。)

キャンバスアプリとモデル駆動型アプリの比較

ここからキャンバスアプリとモデル駆動型アプリの違いを5つご紹介していきます。
実際にアプリを作成して使ってみたので、使用者目線とともに開発者目線も交えてご紹介していきます。

違い①:アプリの構築方法

はじめに、アプリの構築方法の違いについてです。
同じPower Appsでも構築方法の違いはかなり違います。開発者にしか影響がなさそうだと思うかもしれませんが、この違いによって開発費用にも大きな影響を与えます。

では早速、キャンバスアプリの構築方法から説明していきます。
キャンバスアプリでは、以下の画像のようにボタンやアイコン、ラベルなどの部品を画面にドラッグアンドドロップで追加してアプリの画面を作成していきます。
そしてその追加した部品の動きを制御するために、Excelで使用するような関数を用います。また、何かデータを表示したい場合には、ギャラリーと呼ばれる表の大枠のような部品を画面に配置し、そこに表示させたいデータを選ぶと、簡単に表示画面を作成することができます。
要約すると、キャンバスアプリは直感的な操作が可能で、アプリのデザインをしてから動作やデータを補っていくというイメージです。


次にモデル駆動型アプリの構築方法についてです。
モデル駆動型アプリは名前から少し難しそうに感じますが、一言で言うと、「データベースをモデルとして、そのモデルに連動する形で作成されるアプリ」です。データの管理や操作に特化したアプリタイプだと言われています。
モデル駆動型アプリはキャンバスアプリと異なり、アプリに表示させたいデータを用意してから画面のデザインをするイメージです。これが「連動する形で作成されるアプリ」と言われる理由にも関係するのですが、詳しくは次で説明します。



違い②:デザイン性

先述した通り、キャンバスアプリは画面にボタンやラベルなどを好きなように配置して画面を作成していきます。このことから、キャンバスアプリはデザイン性に優れていると言われます。
実際、私も以下のような画面を作成してみましたが、ボタンやアイコンの位置、クリック時の色、文字の大きさなど全て自分の好きなように指定できました。
このように、アプリの作成者がデザインを完全に制御できる点がキャンバスアプリの特徴です。



一方、モデル駆動型アプリではアプリのデザインはほぼ決まっています。どんなアプリを作成しようとあまりデザインに違いはありません。
その理由は、データを選ぶとほぼ自動的にアプリ画面が作成されるためです。先ほどは「モデル駆動型アプリはデータを用意してからデザインするイメージ」と述べましたが、どちらかと言えば「アプリで使用したいデータを選ぶと、ほぼ自動的にアプリが作成される」と言った方が正しいかもしれません。そしてこれが「モデルに連動する形で作成されるアプリ」と言われる理由です。
ですので、モデル駆動型アプリにはあまりデザインの自由さはありません。カスタマイズすることは可能ですが、ソースコードで修正することになります。

以上から、デザイン重視のシステムを作成したい場合はキャンバスアプリが適しているのではないかと思います。例えば、デザイン系やアパレル系企業の在庫管理など、お客様に見せる機会のあるアプリなどはキャンバスアプリでデザインすると独自性も出て企業のイメージも壊さないアプリが作成できるかもしれませんね。 反対に、あまりデザインは重視していないような、企業内で顧客の管理や案件の管理システムを構築したい場合、モデル駆動型アプリが適しているのではないでしょうか。

違い③:開発スピード

ローコード開発のためソースコードを書くよりは素早く開発することができるのはもちろんですが、結論から言うと、キャンバスアプリの方が開発時間がかかるのではないかと思います。
なぜなら、デザインの設計を1から行い、全てのボタンやアイコンに動きをつけるためです。どんな画面がいくつ必要か、どのボタンにどのような動きをさせるかなど、ある程度決めておかないと開発を進められません。設計が十分でないと作業の手戻りも発生してしまう恐れがあります。複雑なアプリを作ろうとすればするほど、設計をしておかなければなりません。

モデル駆動型アプリはデザイン設計は必要ありません。また、全てのボタンに動きをつけていく必要もありません。
必要なデータが整理されていればほぼ自動で作成されるからです。例えば、戻るボタンやデータの新規作成ボタンなどは標準で備わっており、キャンバスアプリのように1つ1つの部品に動きを指定する必要はありません。

あまりデザインを重視しない場合にモデル駆動型アプリが適しているのは、これが理由です。高品質なアプリが作成できるのに加えて開発時間を減らすことができます
作成したいアプリやシステムによって、デザイン性を取るか開発の迅速性を取るかが変わってきそうですね。コストにも関わるので要件の優先順位を決めてどちらなら要件を満たせるか吟味したいところです。

違い④:レスポンシブ

レスポンシブとは、ユーザーが使用するPCやスマートフォン、タブレットなどの画面サイズに合わせて、自動で最適化させるデザインのことです。
キャンバスアプリでは自動でレスポンシブ対応してくれないため、設計時に考慮する必要があります。簡単に言うと、アプリの幅や高さを関数で指定して制御することになります。

モデル駆動型アプリは自動レスポンシブです。画面サイズを考慮することなく設計・製造しても問題ありません。
デバイスが決まっているならキャンバスアプリでも問題ないですが、スマートフォンでも使いたいなど要望がある場合にはモデル駆動型アプリで作成すると開発時間を減らすことが可能です。

違い⑤:データベースの種類

使用できるデータベースにも違いがあります。
キャンバスアプリはかなり融通が利き、ExcelやSharePointを仮想データベースとして使用することができます。ですので、現在使用しているExcelシートなどを活用することが可能です。Microsoft製品ならではと言えますね。

反対にモデル駆動型アプリでは、Microsoftが提供している「Dataverse」というデータベースが必要です。一見不便そうに見えますが、ローコードで使用できるのでSQL文が必要なかったり、Azure上で管理されているのでセキュリティ面の考慮が減るといったメリットがあります。

まとめ

以上がキャンバスアプリとモデル駆動型アプリの大まかな違いになります。
どこを重視したいかによって選ぶアプリタイプが異なってくるのではないでしょうか。
したいことはあるけど優先順位をつけるのが難しい、要件がまとまりきっていない等、どちらのアプリがいいか迷っている方はコチラからぜひ一度ご相談ください。

また、弊社ではモデル駆動型アプリを初めて使用する方、モデル駆動型アプリの機能を知りたい方に向けて「研修サービス」を実施しております。自社での内製化を考えている企業様はこちらもぜひご検討ください。

お問い合わせ

Power Appsに関連する記事

≪ Power Appsモデル駆動型アプリとは ≫
モデル駆動型アプリの特徴について詳しくご紹介しています。一見難しそうなモデル駆動型アプリですが、アプリの要件によってはキャンバスアプリよりも簡単に作成できる場合があります。

≪ Power Appsキャンバスアプリで業務効率化 ≫
実際にキャンバスアプリを作成し、機能の紹介や工夫した点をご紹介しています。こちらの記事ではモバイル用のアプリを作成しました。

≪ Power Appsモデル駆動型アプリを使ったデータの一元管理方法 ≫
Power Appsで実際に「案件管理アプリ」を作成してみました。どのような機能を使えば効率よくデータの一元管理ができるのか、動画や画像で実際のアプリ画面と併せてご紹介しています。



▶ Power Platformブログ一覧に戻る

ページ上部に戻る