68
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

AppSheet ちょっと面白いかも

ローコード開発とかノーコード開発とかコードレス開発とか、これまで、OutSystemsとGlide App(glideapps) を試して来てましたが、ちょっと前に、GoogleによるAppSheetの買収が話題になりました。
https://jp.techcrunch.com/2020/01/15/2020-01-14-google-acquires-appsheet-to-bring-no-code-development-to-google-cloud/
これで今度はAppSheetが盛り上がると思いきや、さほどでもないように感じられます。
が、ちょっと試してみたところ、意外と面白いかも、というお話です。

オープンデータとは(泣)

本題に入る前に、ちょっとぼやきを。
以前、Glide Appを試した時に、何をコンテンツとして提供するか考えて、オープンデータを使うのが良いかなと思ったのが下記の記事、およびそこからのリンクです。
https://qiita.com/JQinglong/items/8c8cd2e2d5c29225972a

今回は、ちょっと前から、日本の島データベースを作りたいという希望があったので、島に関するオープンデータを探してみました。おそらく一番網羅的にまとめられているのが、国土地理院の国土面積調の中の、島面積一覧かと思われます。
https://www.gsi.go.jp/KOKUJYOHO/MENCHO201910-index.html

他に、目につくのは、国土交通省の離島振興関連の情報として提供されている、離島振興対策実施地域一覧。
http://www.mlit.go.jp/kokudoseisaku/chirit/
ただ、これは、同法の対象の島のみであり、沖縄、奄美、小笠原等は対象になっていないため、今回の目的にはそぐいません。
(なお、対象の問題はありますが、以前公開されていた法のデータは、寄港回数まで載っていて、良いなと思いましたが、最新のデータではその辺の情報は載っていませんでした。
https://www.mlit.go.jp/common/000995144.pdf

そして、これらの情報に共通ですが、PDFで提供されています。しかも、それをコピーしようとしても、きれいにはコピーされません(一部抜けたり、順番がバラバラになったり)。

データを公開するという考えは、ちゃんと根付いていないのだなと、つくづく思います。

今回は、国土地理院のPDFを、そのまま文字コピーしても使えないので、画像として保存し、Googleドライブにアップし、Googleドキュメントで開くとOCRしてくれるので、それで抽出された文字を加工しました。これでも、一部抜けたりバラバラになったりはしますが、PDFから直接コピーするよりはだいぶマシでした。
https://docs.google.com/spreadsheets/d/18wJt9K0AQSBGNoTrGvoMO8Tr0WS_-LjnoZgbJqkcbEE/edit?usp=sharing

AppSheetによるアプリ生成

ログインすると、MyAppsの一覧が表示されます。
AppSheet MyApps.png

Googleドキュメントの情報を見て、適当に自動でアプリとして使えると判断してくれるものもあるようです。
Glide Appの時に使ったスプレッドシートも表示されていますので、開いてみると、開発環境の中では、既にそれっぽく動いています。
AppSheet 港区.png

いくつかの設定を変えれば(詳細は後述)、デプロイ可能です。
下記がデプロイされたアプリです。
https://www.appsheet.com/start/42e77a66-a079-4889-90da-f884647b26a9
おそらくこれが一番簡単なアプリの作り方でしょう。ノーコードでここまで生成できれば一定の用途としては使えるのではと思います。

AppSheetで新規アプリを作る

では、今回の本題で、島データベースのアプリを一から作ってみます。
ログインしてMyAppsのページ右上の[New app]をクリックします。
3タイプの中から作成方法を選択します。それぞれ面白そうですが、真ん中の[Start with an idea]を選択します。
AppSheet newapptype.png

Start with an ideaによるアプリ作成

Start with an ideaの場合、何をするのか質問してくれます。
AppSheet datakind.png
最初は、このような形でどんなデータを対象としたアプリなのか聞いてくれるので、islandと答えてみます。
AppSheet datakindisland.png
すると、選択候補が提示されるので、素直に選択します。
それだけで、基本的な枠組みは出来上がります。まあまあ驚愕。サンプルアイコンまで準備してくれました。
AppSheet dev.png
もっとやりたいことがあるか聞いてくれるので、mapと答えてみます。
AppSheet map.png
また選択候補を出してくれるので、選択します。地図画面が追加されました。
AppSheet map2.png
写真も載せたいので、photoと入力してみます。今度は選択候補がたくさん出て来たので、一番上のを選択します。
AppSheet photo.png
写真のページもできました。先ほどの選択候補で、島と写真の親子関係を気にしているのが分かりますが、島1:写真多と判断してくれたようです。
AppSheet photo2.png
AppSheet photo3.png
ここまで作ってくれればもう十分でしょう、Googleが買収するだけのことはあります。

ここで、[Save and Refine]をクリックし、アプリの名前を入力して[Go]をクリックすると、アプリが構築されて、デザイン画面になります。
AppSheet appname.png
AppSheet islanddev.png

アプリの各種設定

まず気になるのがデータはどこに保存されるのかです。
DataメニューからTablesを見てみると、datasourceがgoogleになっています。Googleドライブを見てみると、このようなフォルダ、ファルが作成されていました。なるほど。
AppSheet gdrive.png

次に、無料カウントでデプロイするためには、いくつか設定変更が必要ですので、それを変えていきます。

BehaviorメニューのOffline/Syncで、OFFLINE USEをOFFにします。
AppSheet offline.png

また、SecurotyメニューのRequired Sing-inで、Require user signin?をOFFにする必要があります。単なるデータ参照アプリならOFFで問題ないでしょう。OFFにすると、下二つの情報の同意を求められますので、確認します。
AppSheet signin.png

デプロイ

デプロイする前に、まずデプロイ可能かのチェックをします。
ManageメニューのDeployで、Deployment Checkの中の、[Run deployment check]をクリックします。
※Saveされていないとエラーと判定されるので、設定したら右上の[SAVE]をするようにお願いします。
AppSheet runchk.png

全てチェックがOKになったら[Move app to deployed state]をクリックします。
AppSheet deploychk.png
左上のStatusがDeploydに変わったらOKです。
AppSheet deployed.png

Share appメニューのLinksに、インストール用のリンクとブラウザ用のリンクが表示されています。
今回作成したアプリは、それぞれ下記です。
Install Link
https://www.appsheet.com/newshortcut/a1def116-f69f-4b3a-a7bb-e040bd2bec28

Browser Link
https://www.appsheet.com/start/a1def116-f69f-4b3a-a7bb-e040bd2bec28

ブラウザの方はそのまま見られますが、アプリの方は、AppSheetのインストール画面が表示されました。インストールして開くと、今回作成したアプリが開きます。ちょっと分かりづらい??

データは、とりあえず、最初に作った島一覧の情報を貼り付けていきますが、追々整備しようと思います。

まとめ

これだけ簡単に作成できて、しかも、AndroidアプリもiOSアプリも同時に生成されてしまう。これはGlide厳しいかもしれないですよ。
今回は、ほぼ自動生成のままですが、データ構造等も自分でかなりいじれそうなので、もう少しチュートリアル等で勉強してみると、用途が広がるような気がしています。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
68
Help us understand the problem. What are the problem?