Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
App Maker 開発スタイルガイド
Search
howdy39
December 21, 2017
Programming
660
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
App Maker 開発スタイルガイド
howdy39
December 21, 2017
More Decks by howdy39
See All by howdy39
Slackbot × RAG で実現する社内情報検索の最適化
howdy39
2
730
AI新時代 情シスが向き合うべきAI活用戦略
howdy39
0
240
GAS x スプレッドシート x Looker Studio を組み合わせたデバイス管理 / DeviceMangent with GAS, SpreadSheet, Looker Studio
howdy39
3
1.8k
ChatGPTを使った 社内アシスタントBOTを作りました / ChatGPT Assistant Bot
howdy39
0
850
WebPagetestで始めるパフォーマンス計測 / Performance measurement starting with WebPagetest
howdy39
4
760
Storybookを用いたVue.js共通コンポーネント開発との戦い / stores-fights-storybook
howdy39
5
9k
gas-webpagetestで パフォーマンス計測を始めよう / get-started-measuring-performance-with-gas-webpagetest
howdy39
0
2.6k
Promise
howdy39
1
420
カラーユニバーサルデザイン / color universal design
howdy39
0
1k
Other Decks in Programming
See All in Programming
そこに3びきプロダクトがいるじゃろう——生成AI時代における“価値が届かない理由”の構造
kosuket
0
580
Detecting Compromised CI with eBPF and Cilium Tetragon
lizrice
0
260
メールのエイリアス機能を履き違えない
isshinfunada
0
250
仕様書を書く前にハーネスを作る - Agent Native開発は「探索を速く、判定を固く」
gotalab555
4
1.8k
TSX の <Hoge<Fuga>> という構文に驚いた話 / tsx-type-argument-syntax
kanaru0928
0
240
freee が目指す データ マネジメント戦略 AI-Ready 時代を支える 攻めのガバナンスとは
freee
PRO
0
490
わからない話を追いかけたら、プログラミング言語を作る側にいた
ydah
3
550
Oxlintはいいぞ(続)
yug1224
1
450
【デモ】Kiroで体験する仕様駆動開発|設計からコーディングまでAIと進める開発フロー
cmkudo
0
390
Go 1.27からのGODEBUG / Go 1.27 リリースパーティ #go127party
mazrean
0
220
引き算の組織 ― アウトカムとAIに全振りするために辞めたこと ― / Organization by Subtraction
hirokiyamamoto14
PRO
0
300
ドリフトを絶対に許さない(?)CDK運用 / CDK Ops with Zero Tolerance for Drifts (?)
akihisaikeda
1
230
Featured
See All Featured
Music & Morning Musume
bryan
47
7.3k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
Faster Mobile Websites
deanohume
310
32k
A better future with KSS
kneath
240
18k
WENDY [Excerpt]
tessaabrams
11
39k
Darren the Foodie - Storyboard
khoart
PRO
3
3.7k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.6k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
670
Side Projects
sachag
455
43k
Building AI with AI
inesmontani
PRO
1
1.2k
Site-Speed That Sticks
csswizardry
13
1.5k
Transcript
App Maker 開発スタイルガイド 2017/12/21 第一回 App Maker 分科会 1
中野 達也 (@howdy39) 株式会社 TOPGATE 所属 エンジニア App Maker 歴
5ヶ月 G Suite 関連システム開発歴 6年 自己紹介 2
本日の内容 3 1. Application実行アカウントの選択 2. アプリを肥大化させない 3. Roleで画面を制御 4. 初期データ作成
5. プロパティエディタではなるべくコードを書 かない 6. Page:PageのScript は1:1にする 7. ショートカットキー 8. ブラウザで直接表示せずにGoogleサイト に埋め込む 9. 配信前のチェック
1.Application実行アカウントの 選択 4
User's account or Developer's account 5
用途・Quotaの消費 に応じて使い分ける 6
用途 User's account • ユーザーからメールを送信したい • ユーザーのカレンダーに予定を登録 したい Developer's account
• 開発者からメールを送信したい • ユーザーに共有していないスプレッド シートのデータを読み書きしたい 7
Quotaの消費 ? 8
例えば 300通 200通 300通 800通 9
メール送信の Quota は 1500受信者/日 10
超えると 11
その結果 ユーザーのQuotaを使い切ってしまうと User's account で動いているものは総て利用 不可 12
Quota の消費を比較 13 User’s account × Developer’s account
User's account 150通 50回操作 100回操作 50/1500 100/1500 14
Developer's account 150通 50回操作 100回操作 0/1500 0/1500 150/1500 15
Developer’s account の良いところ 16
ユーザーの Quotaに依存し ない Developer’s account User’s account 17
メール送信の他には どんな制限がある? 18
https://developers.goog le.com/apps-script/guid es/services/quotas 19
2.アプリを肥大化させない 20
肥大化? 21 App Maker は グローバルにfunctionを定義していく 形 →画面(機能)が増えるほど、 大量の function
が作成される
メンテ不能に 22
小さくしま しょう 例えば・・・ 申請系のアプリを作りたかったら 1. 勤怠系(遅刻・早退・有給)などで1 アプリにする 2. 1申請ごとに1アプリにする 23
アプリ間でデータを共有したい んだけど・・・ 24
Cloud SQL 25
Spreadsheet 26
3.Roleで画面を制御 27
初期状態は危険 Page(画面)を作った直後は 誰でも見れる状態(Everyone) 28
Page名がわからなければ 画面を開けないのでは? 29
調べられます 30
console オプション URL 末尾に ?console=1をつけること で PREVIEW 実行と同様にPage の切 り替えプルダウンが表示される
31
どうすればいいの? →Roleを作る! 32
Role 33 App Maker で ユーザー(メールアドレス) ごとに役割を与える機能
私がよく使うRoleパターン 34
オペレーター (データを登録・変更・削除できる権限 のある人) Operators Roleを作成 35
権限ごとにペー ジ名の頭を変え る 36 誰でも見れるページ オペレーター が見れるページ 管理者が見れるページ
参照権限にRoleを設定 37
Admins Roleで 隠し画面を作成 38
4.初期データ作成 39
画面からポチポチ作る? 40
やめましょう 41
アプリと同階層に データを定義したス プレッドシートを作る 42
初期データは IMPORT DATA FROM SHEET で入れる 43
5.プロパティエディタでは なるべくコードを書かない 44
SCRIPTSの方に書く 45
6.Page:PageのScript は 1:1にする 46
同じ名前で 1:1 47
7.ショートカットキー 48
F9 49
8.ブラウザで直接表示せずに Googleサイトに埋め込む 50
理由その1 51 App Maker のURLは 長ったらしい かつ アプリ名と関連性がない ので わかりづらい
https://script.google.com/a/macros/demo.topgate .co.jp/s/AKfycbyGnywT5qMh22WC6cieFQVttbVZ4 GJvMQ8QiZqxXggSvb2PcvwyKGwBUQ/exec?
Googleサイトに 埋め込むと 52
理由その2 53 何らかの理由で 「アプリを作り直したい」 となったときにURLを再度周知しなくて すむ
9.配信前のチェック 54
Production,Staging 環境を用意する 55
3つの 環境 56 1. Production(本番) 2. Staging(検証) 3. Preview(開発)
動作確認はStaging環境で 57
Roleごとに動 作確認 58 1. 一般ユーザー 2. オペレーター(データを登録・変更・ 削除できる権限のある人) 3. システム管理者
GAを設定 59 Google Analytics は App Maker と Googleサイトの両方に 埋め込む
最後に 60
Qiita の GoogleAppMaker タグをフォロー https://qiita.com/tags/GoogleAppMaker 61