40代おっさんAppSheetのサンプルアプリを作る

## 本記事について

この記事はプログラミング初学者の私が学んでいく中でわからない単語や概要を分かりやすくまとめたものです。
もし不正などありましたらコメントにてお知らせいただければ幸いです。

## サンプルアプリとは

・AppSheetにあらかじめ用意されているアプリ
・Templatesリンクに一覧が用意されています。My appsで普通に作成もできる。

## サンプルアプリを作る

### My Appsリンクを押す

・Quick Startの中のMake a new appを押す

### Create a new appパネル

|Start with your own data|用意したデータを使ってアプリを作成します。|
|-----------|-------------------|
|Start with an idea|自分が作りたいアプリのアイディアから同じようなタイプのアプリを作ります|
|Start with a sample app|サンプルアプリを作ります|

### 作成するアプリの設定

Select a sample app to copyという表示なる

アプリ名（App name)を入れて
CategoryのポップメニューからInspections & Surveys を選ぶ
下にいくつかのアイコンがでるのでSimple Surveyをクリック
下にSave app toとあるのでgoogleのままにする

### アプリ編集画面

画面遷移して左上に自分のつけた名前になっていると思います
画面が大きく3つに分かれていると思います。

|左のリスト部分|メニューに相当する部分、AppSheetのアプリに用意されている各種機能がリスト表示されている|
|--------|------------|
|中央の編集エリア|左のリストから選択した項目の編集画面が中央に表示|
|右側のエミュレータ|画面右側にはアプリのエミュレータが表示され、現在のアプリが実行されます。そのままマウスでアプリを操作することもできる|

### AppSheetに用意される主な機能

|Info|アプリに関する基本的な情報や設定|
|----------|---------|
|Data|アプリで使用するデータの管理や設定を行う|
|UX|アプリの表示（ユーザーインターフェース）を設定|
|Behavior|アクションやワークフローといった、アプリの操作などに伴い実行する処理を設定|
|Automation|アプリで実行する処理を作成|
|Security|利用者のログインやデータへの安全なアクセスなどを設定|
|Intelligence|Googleアシスタントの利用（Core版のみ）や、学習モデルの利用などの為のもの|
|Manage|作者やバージョン情報、利用状況のモニターなど|

### 右側のエミュレータに用意されているUIの項目

|Buttons|「One」「Two」「Three」の選択式ボタン|
|--------|------------|
|Text|テキストを直接入力するフィールド|
|Date Time|日時の選択をする専用パネル|
|Percent|0～100％までの数値を入力するスライダー|
|Dropdown|ドロップダウンメニュー|
|Location|マップによる一の指定|
|Image|イメージの描写|
|File|ファイルアップロード|
|Signature|サインのイメージ|

### データの保管について

アプリ作成する際Save app to:のところをgoogleにしました。
これにより、googleドライブにappsheetフォルダが作成されてその中にdataフォルダがあり、そこに「自分でつけたネーム-番号」という形で保存されている。
番号部分がランダムの数字
さらにそのフォルダをみるとPublic Formというスプレッドシートファイルが保存されています。そこにフォームから送信された情報が記録されます。

### アプリを構成する要素

左側のリストの項目を使いこなさなくても基本的にはDataとUXを使えることでアプリはできる（すべて使いこなせれば文句ない）

#### Dataについて

Dataを選択すると上部に
Tables, Columns, Slices,User Settings, Options
と言ったリングが並んでいる。

##### Tables

Tables:アプリで使うテーブル（データが保管されているもの、スプレッドシートやデータベースのテーブルなど）を管理するものです。
サンプルアプリでは「Public Form」が出来ているともいます。
こちらに選択すると上部、右側に下の図の文字あると思います。

|View Columns|テーブルの列情報に表示を切り替えます|
|--------|----------|
|View Source|データソース（データが保管されているファイルなど）を開いて表示します|
|View Data|現在保管されているデータを表示します|
|Delete|テーブルの設定を削除します|

さらに下のほうに

|Storage|データを保存しているストレージに関する設定です|
|--------|----------|
|Security|データのセキュリティ設定の項目です|
|Scale|データが増加した際のデータ分割などに関するものです|
|Localization|ローカライズに関する設定です|
|Documentation|説明のテキストなどを用意します|

##### Colunms

Colunmsをクリックすると
Public Formテーブルの項目が用意されている。
こちらをクリックするとPublic Formテーブルが展開表示されます。
列情報：列名、値の種類、設定された数式などが表示
例えば、数値ではなく通貨単位として扱ってほしいと言った細やかな調整が必要なときここで設定が必要

##### Slices

スライスに関する情報が表示
スライスとは
テーブルのデータから必要なものだけを取り出してまとめたもの

##### User Settings

ユーザーの設定項目が表示

#### UX

UX画面の上部には
Views,Brand,Format Rules,Options,Localize
があり切り替えることで画面表示設定を変更できる。

##### Views

Rrimary View：アプリで良く使われる機能のビューはRrimary Viewとして作成
Ref view:テーブルの内容などをもとにシステムによって自動生成されるビュー
データの詳細表示や新規作成のフォームなどのビュー
Ref viewはテーブル設定に応じて自動で用意されますので自分で作ったりしません。

##### Brand

ブランドに関する設定
アイコンやロゴ、背景イメージなどを用意するでアプリのブランド設定することができる

##### Format Rules

フォーマットルールと呼ばれる設定の画面に切り替わる
初期状態では何も用意させていない
状況に応じて表示させる設定
プラスは黒字、マイナスは赤字など

##### Options

アプリの設定に関する項目が表示される。
例えば
起動時に表示するビュー、システムによって自動的に用意されるボタン類、使用するフォントサイズ、使用するフォームのスタイルなど

##### Localize

ローカライズに関する設定が表示
アプリのシステムで使われる様々なテキストが一覧表示される

#### Bahavior(ビヘイビア)

動作に関する設定

|Actions|表示ビューやデータの変更などアプリの動作を設定|
|--------|--------|
|Offline/Sync|オフラインでの動作とクラウドとの同期を設定|

## 参考資料

<https://www.amazon.co.jp/Google-AppSheet-%E3%81%A7%E3%81%AF%E3%81%98%E3%82%81%E3%82%8B%E3%83%8E%E3%83%BC%E3%82%B3%E3%83%BC%E3%83%89%E9%96%8B%E7%99%BA%E5%85%A5%E9%96%80-%E6%8E%8C%E7%94%B0-%E6%B4%A5%E8%80%B6%E4%B9%83-ebook/dp/B098W4XDBB>