連載
» 2016年08月19日 05時00分 UPDATE

Dev Basics/Keyword:PowerApps(コーディングレスなモバイルアプリ作成ツール)

PowerAppsはさまざまなサービス/データソースを利用して、コーディングレスでビジネスモバイルアプリ/Webアプリを作成するためのツールだ。

[かわさきしんじ,Insider.NET編集部]
「Dev Basics/Keyword」のインデックス

連載目次

PowerAppsとは

 PowerAppsはコーディングの必要なく、モバイルアプリ/Webアプリを作成するためのツールだ。PowerAppsを使うと、さまざまなクラウドサービスにあるさまざまなデータソースに接続し、そこに格納されているデータを表示/操作するアプリを非開発者が簡単に作成できる。

 作成したアプリはiOS/Android/Webブラウザでも動作し、組織内でアプリを共有することも可能だ。このことから、組織内でデバイスの種類やユーザーの現在位置を問わずに迅速にビジネスデータにアクセスするためのアプリ作成にもってこいのツールといえる。

 以下では、筆者が個人的に契約しているOffice 365 Businessのアカウントを利用して動作を確認している。

簡単なアプリ

 アプリの作成には「PowerApps Studio for Windows」か「PowerApps Studio for Web」を使用する(後者は現在プレビュー版であり、機能面で違いがある)。本稿では「for Windows」を利用している。

PowerApps Studio for Windows PowerApps Studio for Windows

 アプリ作成時にコーディングは不要であり、ビジュアルデザイナーを用いて、画面に表示するコントロールを設置したり、それらのプロパティを個別に指定したりしていくだけだ。さらにテンプレートが数多く提供されていて、データソースからアプリを自動生成した場合には画面の設定(コントロールの配置など)の手間を大幅に省ける。

 PowerAppsで作成するアプリはOffice 365、Dropbox、Twitterなどのサービスに接続可能だ。詳細については「Connection list」ページを参照されたい。また、クラウドストレージ(OneDrive、Dropboxなど)に保存されているExcelワークシートなどを基に自動的にアプリを生成することが可能だ。

 例えば、Dropboxに、以下に示すExcelファイルがあったとする(アプリで使用するデータはテーブル化しておく必要がある)。

サンプルのExcelワークシート サンプルのExcelワークシート

 このワークシートから自動生成したアプリの実行画面を以下に示す。

Excelワークシートから自動生成したアプリ Excelワークシートから自動生成したアプリ

 上に示したように、自動生成されたアプリは、データの一覧表示(左)/詳細表示(中央)/編集または追加(右)の各操作を行う3つの画面で構成される。つまり、基になったExcelドキュメントのデータ構造に対応して、基本的なデータ操作を行うひな型のアプリが簡単な操作で作成可能だ。

フロー

 PowerAppsではMicrosoft Flowで作成されているフロー(の一部)も利用できる。ここでいう「フロー」とは、さまざまなサービスやアプリを連結し、何らかの事象をトリガーとして、それら連結されたアプリやサービスを順次実行しながら、ファイルの同期、データの取得、通知の発行などの処理を行うワークフローのことだ。

 以下はPowerAppsで作成したアプリで何らかのコントロールが選択(クリック)されたら、OneDrive上のExcelワークシートにメッセージを挿入するというフローだ。本稿執筆時点(2016年8月18日)ではフローの記述はPowerApps Studio for Windowsでは行えず、PowerAppsのWebサイトから行う必要があるようだ。

PowerAppsのWebサイトでフローを作成しているところ PowerAppsのWebサイトでフローを作成しているところ

 フローの最下部にある[MESSAGE]というのは、ワークシート内のテーブルに定義されている列のこと(ここでは列は1つだけ)。そして、ここで指定している「Insertrow_message」の値は、PowerAppsで作成するアプリ側で設定する。このフローを利用しているアプリを以下に示す。

フローを利用したアプリを作成しているところ フローを利用したアプリを作成しているところ

 作成したフローをPowerAppsで作成したアプリに取り込むには[Action]タブにある[Flow]ボタンをクリックする(上の画面の(1))。これにより、右側のペーンにフローが一覧されるので必要なものを選択する(同(2))。後はこれを利用するだけだ。ここではボタンが選択(クリック)されたときに、その時間とテキストボックスに入力された文字列を連結してフローに渡すことにする。

 これを行っているのが、上の画面の(3)の部分だ。「OnSelect」プロパティの値を「HelloFlow.Run(Text(Now(), "yyyy/mm/dd hh:mm:ss") & ": " & TextBox1.Text)」にしている。

 アプリを実行してボタンをクリックすると、作成したフローが実行され、OneDrive上のExcelファイルに時間とメッセージが挿入される。

ボタンをクリックする
ボタンをクリックする
メッセージが挿入される
メッセージが挿入される

フローを利用したアプリの実行例


 このように、アプリとは独立した何らかの処理をフローとして記述しておき、これを複数のアプリから共通的に使用できる。実際には何かの処理を行ったら、あるいは興味深い考察が得られたら、同僚にメールを飛ばしたり、Slackにメッセージを書き込んだりといったことができるだろう。


 PowerAppsはコーディングレスで、モバイルアプリ/Webアプリを作成するためのツールだ。さまざまなサービスに接続し、さまざまなデータソースを利用して、ビジネスアプリを迅速に作成できる。また、フロー機能と組み合わせることで、一連の処理を自動実行することも可能だ。なお、本稿執筆時点(2016年8月18日)では、アプリ開発には「職場、学校用のMicrosoftアカウント」が必要である。

参考資料

  • Microsoft PowerApps: PowerApps公式ページ
  • Microsoft PowerApps: PowerAppsのホーム。サンプルアプリのブラウズ、各種の管理、アプリの新規作成などをここから行える(PowerAppsへのサインアップ/サインインが必要)

「Dev Basics/Keyword」のインデックス

Dev Basics/Keyword

Copyright© 1999-2017 Digital Advantage Corp. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。