この記事は Enigmo Advent Calendar 2022 の23日目の記事です。
こんにちは、エニグモ 嘉松です。
データ活用推進室というチームでリーダーをさせていただいています。 チームにはデータアナリスト3名、社内の業務システムを開発するGASエンジニア1名、そして私の計5名が所属しています。
目次
エニグモを取り巻くIT環境
エニグモでは提供しているサービスがBUYMAという海外通販サイト(ECサイト)ということもあり、日常的な業務において多種多様なシステム、ITサービス、ツールを活用しています。 使用しているシステムを分類すると、
BUYMAの管理画面
- BUYMAの業務を行う中心的なシステムです。
- しっかりと要件を詰めた上でエンジニアによって開発されます。
アプリケーションソフト(ツール)
- ソフトウェア・ベンダーが提供しているツールやフリーで使用できるツール
- 例えば以下のようなツールがそれにあたります。
- 最近はブラウザ上で利用できるツールが多いですね。
- (ちなみに上にあげたツール、私は謎に全部使ったことあります。年の功か?)
お助けツール
- 管理画面ではカバーできず、アプリケーションソフトだけでもカバーできない領域。
- 人力で行っていた繰り返し作業を自動化(ボタンひとつで実行)するツールや、複数のアプリケーションソフトを組み合わせて行っていた作業を統合するツールなど。
ということで(?)エニグモでもこの手のお助けツールの開発に力を入れています。 Google Spreadsheet + GASのように、Google Workspace(旧 G Suite)やGoogle Cloud(GCP)といったGoogleサービスを上手いこと組み合わせてお助けツールを開発することが多いです。
Googleサービスを活用する理由としては、
- 多くの機能(サービス)が揃っていること(下記に記載)
- それらが安価にかつ素早く(サーバの構築などが必要なく)利用できること
- そして各機能をGoogle Apps Scriptで連携することである程度のシステムを短期間に開発できること
が挙げられます。
- 主なGoogleサービス
- Gmail(メール)
- Google Drive(ストレージ)
- Google Spreadsheet(表計算)
- Google カレンダー(スケジュール管理)
- Google Form(アンケート)
- Google Map(地図)
- Google Apps Script(プログラミング言語)
- BigQuery(データベース(DWH))
ただ、これらの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 アプリケーションを作成できます。このプラットフォームは、プロジェクト管理、顧客関係管理、現場検査、パーソナライズされたレポートなど、幅広いビジネス ユース ケースに利用できます。
だいたい意味がわかる翻訳になりますね。(優秀!!)
要約すると、
- ノーコードでアプリを開発できるプラットフォーム
- 「ノーコード」とは、コードを書かなくて良い、プログラミングが不要、ってことです。(一応補足)
- 多くのデータソースに対応(スプレッドシートやデータベースなど)
- マルチプラットフォーム(モバイル、タブレット、Webブラウザで使用できる)
また、
AppSheet was acquired by Google in January 2020.
というように、2020年にGoogleに買収され、Google Cloudに組み込まれました。
「ノーコードでアプリを開発」といっても、どんなアプルでも作れる訳ではないでしょう。いかんせんノーコードですから。
では実際にアプリを作りながらAppSheetでのアプリ開発について見ていきましょう。
AppSheetによるアプリの開発
まず、AppSheetの開発にはAppSheetの画面をブラウザで開く必要があります。
今回は以下のページから「無料トライアル」で試していきます。
無料トライアルなので出来ることに制限があります。 また、無料トライアルならではの設定が必要になります。 ただ、ざっくりと使用感を試すには十分かと思います。
AppSheet開発のフロー
AppSheetでアプリを開発する流れは以下のとおりです。
- データを用意
- データを取り込み
- アプリを作成
- アプリをカスタマイズ
- アプリを公開(デプロイ)
- アプリをシェア
1. データを用意
AppSheetはAppSheet自体にデータを保持するわけではなく、以下のようなアプリをデータの保存先(データ−ソース)として動作します。 (有料版ではAppSheet自体にデータを保持できるようになったようです)
- Google Sheets(Googleスプレッドシートの正式名称ですね。)
- Microsoft Excel(Office 365やDropboxなどクラウドに保存されているファイルが対象)
- データーベース(Microsoft SQL Server、MySQL、PostgreSQLなど)
今回はGoogle Sheetsに以下のようなデータを用意して進めていこうと思います。
- id
- name
- category
- brand
- sale_start_date
- url
- pic
2. データを取り込み
AppSheetの画面から用意したデータを取り込みます。
Google SheetsのデータがAppSheetに取り込まれました。
3. アプリを作成
取り込んだデータを指定してアプリを作成します。
これで(これだけで)自動的にアプリが作成されます。
右に写っているのがスマホ版のアプリのプレビュー画面です。
4. アプリをカスタマイズ
自動で作成されたアプリをカスタマイズします。
取り込まれたデータのデータ型を変更します。
sale_start_date
をData
に、url
をUrl
に、pic
をImage
に変更してあげます。
プレビュー画面では、sale_start_date
が年月日の形式に、url
に右側にリンクボタンが、pic
が画像に変更されました。
id
のEDITABLE
のチェックを外して変更を出来なくします。
5. アプリを公開(デプロイ)
カスタマイズしたアプリを公開(デプロイ)、つまり利用できるようにします。
デプロイできるかをチェックしています。 ここでエラーがでたらエラーを修正してあげます。 無料トライアルでは、利用制限があるので、いくつかの設定を変更する必要があります。
6. アプリをシェア
デプロイが無事に完了すると、利用するためのURLを取得できます。
スマホにInstall Link
を転送してクリックすると、最初(まだ「AppSheet」アプリをスマホにインストールしていない場合)は、ストアに遷移するので「AppSheet」アプリをインストールします。
ちゃんとスマホでも表示されました。
スマホでデータを変更したら、データソースのスプレッドシートのデータも正しく変更されていました。
AppSheet 触ってみた感想
今回さらっと(約5時間くらい)AppSheetを使ってみました。
その中で感じた良い点と不満・不安に思った点、また今回の検証では分からなかった点を以下にあげます。
良かった点
- スプレッドシートにデータを用意して読み込むだけでテータ定義が自動で作成される
- テーブル定義を1から設定する必要がないので、その手間が省ける
- 取り込んだデータの型は
Image
やUrl
など多くが用意されており、また変更も容易- データの型に応じて表示が自動で変わるので、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プランで利用できるようにしてほしい。 そうすればより多くのユーザが増えて、マニュアルの日本語化なども進むのではないかと思いました。
以上、読んでいただきありがとうございました。
株式会社エニグモ すべての求人一覧