AppMaker+CloudSQLでミニ業務アプリを作成したので特徴をまとめます。
大前提
- AppMakerはGSuite組織内ユーザのみ利用可能
- GSuiteを組織で使ってないとAppMakerを使うメリットはありません
- CloudなのでユーザIDがあれば世界中だれでも使えます
Cool
- GSuiteユーザ前提のため認証系構築不要、権限もGSuiteの組織・ユーザで管理
- クライアントもサーバもJavaScriptで記載可能。利用可能なクラスは異なる
- クライアントスクリプトだけでかなりのデータ操作が可能
- ちょっとしたことをするにもスクリプトが必要だが、SEにはそっちがありがたい
- DBのCRUD画面が簡単に組める。テーブル作成もSQLを使わずに可能
- 先にTableやViewを作っておくと、それにあうデータモデル作成可能(カスタムDB利用時)
- TableやViewを修正したらデータモデルも自動修正できる
- 自動更新型画面(デフォルト)と手動更新型画面を作成できる。それぞれできることに制約がある
- フィルタ(検索条件)は便利
Lame
- SQLデータソースはフィルタやソート不可
- Viewは使えるがAppMakerからは作れない
- 複雑な業務アプリは組めない(テーブル数20程度まで)
- 「レポート」機能がない。工夫すれば画面を印刷可能だが1ページしか印刷できない。
- プライマリキーは1カラムのみ。デフォルト自動採番数値になる。
- ソートは1カラムのみ
- 「表」で細かくレイアウト調整しようとするとかなり面倒
- マテリアルデザインにするのは面倒(挫折しました)
- 日付の操作がしょぼい
- DBの型はDate、DateTime、Time型があるが、AppMakerではDate、DateTime型のみ扱える
- 入力ウイジェットはDateだが内部的にDateTimeに相当するため、タイムゾーンを固定にしないとDBとずれることがある
- 表示ウイジェットはクライアントタイムゾーン固定のため、Viewで文字列として取得するか、入力ウイジェットを編集不可で使う必要あり
- Timeは文字列として扱うしかない
詳細やノウハウはぼちぼち書きます。
2020.2.5追記
AppMakerのサービス終了をGoogleが発表。書く気がなくなりました。