chakokuのブログ(rev4)

テック・コミック・DTM・・・ごくまれにチャリ

GoogleのAppSheetが気になる

要約:
フルスクラッチWebサービスを作るのは骨が折れる。最近の流行りのNodeCodeサービスを使ってみたい。GCPとも相性がよさそうな、GoogleのAppSheetが非常に気になる

詳細:
Mentaという支援サイトでメンターとして、技術的なお手伝いをさせてもらっています。
相談者から、業務管理のWebサービスPythonで作りたいと要望を受けて、説明のために自分でも作ってみました。プロならJava+SpringBootなのかもしれませんが、、Javaでまともに組んだことがなく、相談を受けた言語もPythonなのでPython+Flask+SQLiteとコンパクトな組み合わせで試作しました。まだ作り終えていませんが、それほど複雑ではない要求仕様なのに、作っていくとコード量がどんどん膨れ上がっている状況です。
flaskとテンプレートエンジン*1使っているけど、それ以外のフレームワーク使ってないので、、GET/POSTでHIDDENで渡して・・セッション管理も・・と仔細だけどWebサービスをまともに動かすために必要となるコードが多くて、これを全部理解して学んでもらうのはちょっとオーバースペックではないかと思ったりもしました。
最終的には相談者と決める事ですが、これがもし、NoCodeサービスだったらどれだけサクサクと業務管理サービスが実現できるのか興味が沸いている所です。という背景から、AppSheetを理解してみたいと思っています。相談を受けている前提なので、今回は途中で飽きずに最後まで行けるはず。。

■追記
AWSからHoneyCodeというノーコードのサービス(β版)が提供されているらしい。まずこちらをやってみたい。ただし、AWSサービスとの連携はあまりできないらしい。詳細未確認
Amazon Honeycode を使ってコーディングなしで経費管理アプリケーションを作成する方法 | Amazon Web Services ブログ

■追記
HoneyCodeを使ってみようと思ったが、情報がかなり少なく有償化しないとAWSサービスとの連携ができないようなので、、AppSheetを学ぶことにしました。AppSheet/HoneyCodeはレゴブロックのような気楽さがありますね。だけど、、どうしたら思ったような画面が作れるのか、かなり不明点が多い。とりあえずサクッと勉強するために買った本

■追記
正規化のためにテーブルを二つに分けて、IDで連携させた場合、refをつけると関係づけられるのまでは分かったが、参照先の情報をselect文等で取ってくる方法が分からない。。 まぁそもそもCやPython等の手続き的な方法で実装するのはやってきたが、SQL文のような宣言的な言語で構造を定義するのがかなりできない。宣言的に書けないと、AppSheetではうまく機能を実現できないように思える。(最後はGASでテーブルを書き換える関数を書くというもあるようだが、、それはちょっと最後の手段だろう・・)
AppSheetによるアプリ開発について、おおよそ考え方は分かったのだが、テーブル間の関連をどう扱うか(あと、、関数を駆使してほしい情報をまとめる方法)が分からず、もう一冊本を買った。

休暇申請アプリの作成事例(P253)では複数のテーブルを関連付けて参照する方法が説明されています。この本をよく読んで、細かい仕様がよく分からないRefを理解したい。

なぜここまでノーコードなのか?? 定年後の次の仕事として、農業DXに可能性があるか??が気になっていて。。。短期間に手間をかけずIoTシステムやWebアプリを試作する上で、サーバサイドのデータ蓄積、管理、表示システムが課題。データ収集や見える化の手段として、IoT用のダッシュボードサービスを使う方法もあるけど、AppSheetでデータを集約する方が、データが手の内化しやすく(DBに保存されるよりGoogleDriveのスプレッドシート方がアクセス容易)、温湿度データや日射量等のグラフ化、分析等、Googleのリソース(GCP)を活用しやすいのでは?と思えて。

*1:flaskと一緒に動作するjinja2