Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
App Maker 開発スタイルガイド 2017/12/21 第一回 App Maker 分科会 1
Slide 2
Slide 2 text
中野 達也 (@howdy39) 株式会社 TOPGATE 所属 エンジニア App Maker 歴 5ヶ月 G Suite 関連システム開発歴 6年 自己紹介 2
Slide 3
Slide 3 text
本日の内容 3 1. Application実行アカウントの選択 2. アプリを肥大化させない 3. Roleで画面を制御 4. 初期データ作成 5. プロパティエディタではなるべくコードを書 かない 6. Page:PageのScript は1:1にする 7. ショートカットキー 8. ブラウザで直接表示せずにGoogleサイト に埋め込む 9. 配信前のチェック
Slide 4
Slide 4 text
1.Application実行アカウントの 選択 4
Slide 5
Slide 5 text
User's account or Developer's account 5
Slide 6
Slide 6 text
用途・Quotaの消費 に応じて使い分ける 6
Slide 7
Slide 7 text
用途 User's account ● ユーザーからメールを送信したい ● ユーザーのカレンダーに予定を登録 したい Developer's account ● 開発者からメールを送信したい ● ユーザーに共有していないスプレッド シートのデータを読み書きしたい 7
Slide 8
Slide 8 text
Quotaの消費 ? 8
Slide 9
Slide 9 text
例えば 300通 200通 300通 800通 9
Slide 10
Slide 10 text
メール送信の Quota は 1500受信者/日 10
Slide 11
Slide 11 text
超えると 11
Slide 12
Slide 12 text
その結果 ユーザーのQuotaを使い切ってしまうと User's account で動いているものは総て利用 不可 12
Slide 13
Slide 13 text
Quota の消費を比較 13 User’s account × Developer’s account
Slide 14
Slide 14 text
User's account 150通 50回操作 100回操作 50/1500 100/1500 14
Slide 15
Slide 15 text
Developer's account 150通 50回操作 100回操作 0/1500 0/1500 150/1500 15
Slide 16
Slide 16 text
Developer’s account の良いところ 16
Slide 17
Slide 17 text
ユーザーの Quotaに依存し ない Developer’s account User’s account 17
Slide 18
Slide 18 text
メール送信の他には どんな制限がある? 18
Slide 19
Slide 19 text
https://developers.goog le.com/apps-script/guid es/services/quotas 19
Slide 20
Slide 20 text
2.アプリを肥大化させない 20
Slide 21
Slide 21 text
肥大化? 21 App Maker は グローバルにfunctionを定義していく 形 →画面(機能)が増えるほど、 大量の function が作成される
Slide 22
Slide 22 text
メンテ不能に 22
Slide 23
Slide 23 text
小さくしま しょう 例えば・・・ 申請系のアプリを作りたかったら 1. 勤怠系(遅刻・早退・有給)などで1 アプリにする 2. 1申請ごとに1アプリにする 23
Slide 24
Slide 24 text
アプリ間でデータを共有したい んだけど・・・ 24
Slide 25
Slide 25 text
Cloud SQL 25
Slide 26
Slide 26 text
Spreadsheet 26
Slide 27
Slide 27 text
3.Roleで画面を制御 27
Slide 28
Slide 28 text
初期状態は危険 Page(画面)を作った直後は 誰でも見れる状態(Everyone) 28
Slide 29
Slide 29 text
Page名がわからなければ 画面を開けないのでは? 29
Slide 30
Slide 30 text
調べられます 30
Slide 31
Slide 31 text
console オプション URL 末尾に ?console=1をつけること で PREVIEW 実行と同様にPage の切 り替えプルダウンが表示される 31
Slide 32
Slide 32 text
どうすればいいの? →Roleを作る! 32
Slide 33
Slide 33 text
Role 33 App Maker で ユーザー(メールアドレス) ごとに役割を与える機能
Slide 34
Slide 34 text
私がよく使うRoleパターン 34
Slide 35
Slide 35 text
オペレーター (データを登録・変更・削除できる権限 のある人) Operators Roleを作成 35
Slide 36
Slide 36 text
権限ごとにペー ジ名の頭を変え る 36 誰でも見れるページ オペレーター が見れるページ 管理者が見れるページ
Slide 37
Slide 37 text
参照権限にRoleを設定 37
Slide 38
Slide 38 text
Admins Roleで 隠し画面を作成 38
Slide 39
Slide 39 text
4.初期データ作成 39
Slide 40
Slide 40 text
画面からポチポチ作る? 40
Slide 41
Slide 41 text
やめましょう 41
Slide 42
Slide 42 text
アプリと同階層に データを定義したス プレッドシートを作る 42
Slide 43
Slide 43 text
初期データは IMPORT DATA FROM SHEET で入れる 43
Slide 44
Slide 44 text
5.プロパティエディタでは なるべくコードを書かない 44
Slide 45
Slide 45 text
SCRIPTSの方に書く 45
Slide 46
Slide 46 text
6.Page:PageのScript は 1:1にする 46
Slide 47
Slide 47 text
同じ名前で 1:1 47
Slide 48
Slide 48 text
7.ショートカットキー 48
Slide 49
Slide 49 text
F9 49
Slide 50
Slide 50 text
8.ブラウザで直接表示せずに Googleサイトに埋め込む 50
Slide 51
Slide 51 text
理由その1 51 App Maker のURLは 長ったらしい かつ アプリ名と関連性がない ので わかりづらい https://script.google.com/a/macros/demo.topgate .co.jp/s/AKfycbyGnywT5qMh22WC6cieFQVttbVZ4 GJvMQ8QiZqxXggSvb2PcvwyKGwBUQ/exec?
Slide 52
Slide 52 text
Googleサイトに 埋め込むと 52
Slide 53
Slide 53 text
理由その2 53 何らかの理由で 「アプリを作り直したい」 となったときにURLを再度周知しなくて すむ
Slide 54
Slide 54 text
9.配信前のチェック 54
Slide 55
Slide 55 text
Production,Staging 環境を用意する 55
Slide 56
Slide 56 text
3つの 環境 56 1. Production(本番) 2. Staging(検証) 3. Preview(開発)
Slide 57
Slide 57 text
動作確認はStaging環境で 57
Slide 58
Slide 58 text
Roleごとに動 作確認 58 1. 一般ユーザー 2. オペレーター(データを登録・変更・ 削除できる権限のある人) 3. システム管理者
Slide 59
Slide 59 text
GAを設定 59 Google Analytics は App Maker と Googleサイトの両方に 埋め込む
Slide 60
Slide 60 text
最後に 60
Slide 61
Slide 61 text
Qiita の GoogleAppMaker タグをフォロー https://qiita.com/tags/GoogleAppMaker 61