Google AppSheet 触ってみた 2022冬

この記事は Enigmo Advent Calendar 2022 の23日目の記事です。

こんにちは、エニグモ 嘉松です。

データ活用推進室というチームでリーダーをさせていただいています。 チームにはデータアナリスト3名、社内の業務システムを開発するGASエンジニア1名、そして私の計5名が所属しています。

目次

エニグモを取り巻くIT環境

エニグモでは提供しているサービスがBUYMAという海外通販サイト(ECサイト)ということもあり、日常的な業務において多種多様なシステム、ITサービス、ツールを活用しています。 使用しているシステムを分類すると、

  • BUYMAの管理画面

    • BUYMAの業務を行う中心的なシステムです。
    • しっかりと要件を詰めた上でエンジニアによって開発されます。
  • アプリケーションソフト(ツール)

    • ソフトウェア・ベンダーが提供しているツールやフリーで使用できるツール
    • 例えば以下のようなツールがそれにあたります。
    • 最近はブラウザ上で利用できるツールが多いですね。
    • (ちなみに上にあげたツール、私は謎に全部使ったことあります。年の功か?)
  • お助けツール

    • 管理画面ではカバーできず、アプリケーションソフトだけでもカバーできない領域。
    • 人力で行っていた繰り返し作業を自動化(ボタンひとつで実行)するツールや、複数のアプリケーションソフトを組み合わせて行っていた作業を統合するツールなど。
      • 代表的のものとしてはExcelVBAを組み合わせた業務効率化ツール。
      • サービスの改善や運用・保守で忙しいエンジニアに開発をお願いすることができず、現場のITに詳しいメンバーがネットで調べながら開発することも多い。(私がこれまで所属していた企業や一般論として。)
      • ツールを使わず人力で行っていることも多く、その業務はとても生産性が低い。(日本の労働生産性OECD 37加盟国中21位(2020年度)と低迷している1つの要因かとも密かに思っています。)

ということで(?)エニグモでもこの手のお助けツールの開発に力を入れています。 Google Spreadsheet + GASのように、Google Workspace(旧 G Suite)やGoogle Cloud(GCP)といったGoogleサービスを上手いこと組み合わせてお助けツールを開発することが多いです。

Googleサービスを活用する理由としては、

  • 多くの機能(サービス)が揃っていること(下記に記載)
  • それらが安価にかつ素早く(サーバの構築などが必要なく)利用できること
  • そして各機能をGoogle Apps Scriptで連携することである程度のシステムを短期間に開発できること

が挙げられます。

ただ、これらのGoogleサービスを組み合わせたときに課題になるのがデータの入力です。

多くの場合はGoogle Spreadsheetにデータを入力しますが、Google Spraeadsheetは自由すぎるので、行や列の追加や削除が容易に出来てしまいます。プログラム(Google Apps Script)ではどの列(例えばC列)には何の値(例えば商品ID)が入っている、データは何行目から入力される、といったことが決まっていることが前提として作られているので、自由に(勝手に)行や列を追加、削除されるとエラーになったりします。

もちろん、セルの保護(変更できないようにする)やシートの保護などで対応は出来なくはありませんが、Webアプリのように美しく入力を制御することが難しい。更に言えば、入力のチェック(バリデーション・チェック)も出来たら理想です。

ということで(??)目をつけたのがGoogle AppSheet。

前置きがとても長くなりましたが、以下ではGoogle AppSheetについてざっと紹介します。

AppSheetとは

さっそくWikiで調べてみると、

AppSheet is an application that provides a no-code development platform for application software, which allows users to create mobile, tablet, and web applications using data sources like Google Drive, DropBox, Office 365, and other cloud-based spreadsheet and database platforms. The platform can be utilized for a broad set of business use cases including project management, customer relationship management, field inspections, and personalized reporting.

これをGoogle Translate(翻訳)で日本語に訳すと、

AppSheet は、アプリケーション ソフトウェア用のノーコード開発プラットフォームを提供するアプリケーションです。これにより、ユーザーは、Google ドライブDropBox、Office 365、およびその他のクラウドベースのスプレッドシートおよびデータベース プラットフォームなどのデータ ソースを使用して、モバイル、タブレット、および Web アプリケーションを作成できます。このプラットフォームは、プロジェクト管理、顧客関係管理、現場検査、パーソナライズされたレポートなど、幅広いビジネス ユース ケースに利用できます。

だいたい意味がわかる翻訳になりますね。(優秀!!)

要約すると、

また、

AppSheet was acquired by Google in January 2020.

というように、2020年にGoogleに買収され、Google Cloudに組み込まれました。

「ノーコードでアプリを開発」といっても、どんなアプルでも作れる訳ではないでしょう。いかんせんノーコードですから。

では実際にアプリを作りながらAppSheetでのアプリ開発について見ていきましょう。

AppSheetによるアプリの開発

まず、AppSheetの開発にはAppSheetの画面をブラウザで開く必要があります。

今回は以下のページから「無料トライアル」で試していきます。

cloud.google.com

AppSheet TOPページ

無料トライアルなので出来ることに制限があります。 また、無料トライアルならではの設定が必要になります。 ただ、ざっくりと使用感を試すには十分かと思います。

AppSheet開発のフロー

AppSheetでアプリを開発する流れは以下のとおりです。

  1. データを用意
  2. データを取り込み
  3. アプリを作成
  4. アプリをカスタマイズ
  5. アプリを公開(デプロイ)
  6. アプリをシェア

1. データを用意

AppSheetはAppSheet自体にデータを保持するわけではなく、以下のようなアプリをデータの保存先(データ−ソース)として動作します。 (有料版ではAppSheet自体にデータを保持できるようになったようです)

今回はGoogle Sheetsに以下のようなデータを用意して進めていこうと思います。

  • id
  • name
  • category
  • brand
  • sale_start_date
  • url
  • pic

データを用意

2. データを取り込み

AppSheetの画面から用意したデータを取り込みます。

データをAppSheetに取り込み

Google SheetsのデータがAppSheetに取り込まれました。

データが取り込まれました。

3. アプリを作成

取り込んだデータを指定してアプリを作成します。

アプリを作成

これで(これだけで)自動的にアプリが作成されます。

右に写っているのがスマホ版のアプリのプレビュー画面です。

アプリが完成

4. アプリをカスタマイズ

自動で作成されたアプリをカスタマイズします。

取り込まれたデータのデータ型を変更します。

sale_start_dateDataに、urlUrlに、picImageに変更してあげます。

項目のカスタマイズ

プレビュー画面では、sale_start_dateが年月日の形式に、urlに右側にリンクボタンが、picが画像に変更されました。

項目のデータ方を変更

idEDITABLEのチェックを外して変更を出来なくします。

idを変更不可に

5. アプリを公開(デプロイ)

カスタマイズしたアプリを公開(デプロイ)、つまり利用できるようにします。

Not Deployed

デプロイできるかをチェックしています。 ここでエラーがでたらエラーを修正してあげます。 無料トライアルでは、利用制限があるので、いくつかの設定を変更する必要があります。

デプロイチェック

6. アプリをシェア

デプロイが無事に完了すると、利用するためのURLを取得できます。

LINK

  • Editor Link
    • このアプリを修正する画面へのURLです。
  • Browser Link
  • Install Link
    • スマホで利用するときのURLです。

スマホInstall Linkを転送してクリックすると、最初(まだ「AppSheet」アプリをスマホにインストールしていない場合)は、ストアに遷移するので「AppSheet」アプリをインストールします。

ちゃんとスマホでも表示されました。

スマホ画面

スマホでデータを変更したら、データソースのスプレッドシートのデータも正しく変更されていました。

AppSheet 触ってみた感想

今回さらっと(約5時間くらい)AppSheetを使ってみました。

その中で感じた良い点と不満・不安に思った点、また今回の検証では分からなかった点を以下にあげます。

良かった点

  • スプレッドシートにデータを用意して読み込むだけでテータ定義が自動で作成される
    • テーブル定義を1から設定する必要がないので、その手間が省ける
  • 取り込んだデータの型はImageUrlなど多くが用意されており、また変更も容易
    • データの型に応じて表示が自動で変わるので、UIの作成が必要ない
  • データの参照、変更、追加の機能が自動で作成されるので、これも便利。

今回の検証では分からなかった点

  • データの定義やデータの表示については、多くのパラメータ(設定できる項目)があったが、どのような設定ができるのかまでは分からなかった。
  • デプロイの設定も多くの設定項目があったが、どのようなカスタマイズが可能なのかは分からなかった。

不満・不安に思った点

  • AppSheetはGoogle WorkspaceのEnterpriseプランで利用ができるが、Businessプラン(Business Starter、Business Standard、Business Plus)では利用できない。
  • Enterpriseプランを契約しておらず、AppSheetを利用する場合は、AppSheet個別の契約が必要となる。
    • MOST POPULARのCoreプランで$10 USD/ user / monthとなかなかのお値段。
  • AppSheetの画面、ドキュメントが英語。
    • ドキュメントはGoogle Translateを利用すればある程度は解決するが、ハマッたときに困りそうな気もする。
  • GoogleがAppSheetにどこまでコミットしていくか不安。
    • 2021年にサービス終了したApp Makerのような末路を辿らないか不安。

最後に

では、AppSheetは「Googleサービスを組み合わせたときに課題になるのがデータの入力」を解決できるのか?

正直、出来ると思います。

AppSheetでアプリを作成して、その使い方を含めた業務マニュアルを用意すれば業務は回ると思います。

アプリを通してスプレッドシートのデータを触らせる(変更する)ことで、データの保護も出来るので、オペミスによるデータの消失なども防げると思います。

ネックはライセンスですね。多くの企業が契約している(であろう)Businessプランで利用できるようにしてほしい。 そうすればより多くのユーザが増えて、マニュアルの日本語化なども進むのではないかと思いました。

以上、読んでいただきありがとうございました。

株式会社エニグモ すべての求人一覧

hrmos.co