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
LIFFアプリ×スプレッドシートのススメ(2020/10/21 LT祭り)
Search
macochin
October 22, 2020
Programming
0
620
LIFFアプリ×スプレッドシートのススメ(2020/10/21 LT祭り)
macochin
October 22, 2020
Tweet
Share
Other Decks in Programming
See All in Programming
Dockerで始めるAWS Lambda開発
stutkhd0709
13
2.5k
品質が高いコードって何?Rev2.1
ickx
1
490
Kotlinを用いたDSL的な設計手法と使用上の注意
kohii00
3
530
BuefyのMaintainerを引き継いだ件
kikuomax
0
520
Deno に Web 標準 API を実装する / Implementing Web Standard API to Deno
petamoriken
0
350
SwiftUI, Jetpack Composeの導入で変化した「家族アルバム みてね」のアプリ開発体験
hicka04
6
400
ISUCONってなんだか難しそう……!!でも、初めてのISUCONにPHPで挑戦してきました!
kotomin_m
1
300
チームでモデリングを育てるうえで 考えたこと・気づいたこと / Cultivating Modeling in Teams: Thoughts and Insights
mackey0225
5
2.3k
document.write再考
brn
5
2.5k
Go1.22からの疑似乱数生成器について/go-122-pseudo-random-generator
convto
1
160
ドメイン・ファーストで考える問題解決に役立つモデル設計 / Domain First Model Design
suzushin54
1
1.4k
CSRF対策のやり方、そろそろアップデートしませんか / Update your knowledge of CSRF protection
hiro_y
25
14k
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
226
16k
The Brand Is Dead. Long Live the Brand.
mthomps
48
21k
It's Worth the Effort
3n
180
27k
Stop Working from a Prison Cell
hatefulcrawdad
265
19k
Done Done
chrislema
178
15k
The Cult of Friendly URLs
andyhume
73
5.6k
A Philosophy of Restraint
colly
195
15k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
501
140k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
18
1.7k
Testing 201, or: Great Expectations
jmmastey
27
6.3k
Into the Great Unknown - MozCon
thekraken
10
830
Transcript
LIFFアプリ × スプレッドシート のススメ
❏ これまでのスマホアプリの作り方としては、以下の通り ❏ ネイティブアプリ ❏ Webアプリ(PWA等) ❏ ハイブリットアプリ・クロスプラットフォームアプリ(PhoneGap等) ❏
LIFFの登場により、LIFFアプリ(LINEミニアプリ)というスマホアプリの新た な選択肢が増えました ❏ LIFFアプリ(LINEミニアプリ)が、旧来のスマホアプリの代替えになりうると いうことで、そのサービスを構築する上では”DB”のことも考える必要が あります スマホアプリ・LIFFアプリ(LINEミニアプリ)について
〇〇サービス DBって”煩わしく”感じるときってありません??? ユーザ SQL 開発者 グラフ化などしてデータ分析 (デバッグ時などに) ちょっとデータを確認したいだけなのにSQL を書かなければいけない、、、
データ分析する際などは、一度Excelに落と してグラフ化することが多々あり この”ワンアクション”がもどかしい。。。
〇〇サービス ユーザ 開発者 グラフ化などしてデータ分析 じゃあ、初めから Excel形式の”スプレッドシート”に書きませんか?
例)家計簿アプリ 家計簿botアプリ (Node.js) クレジット利用明細 クレジット利用明細 (CSV)をPCで貼り付け 買ったら、
その場で登録 スプレッドシートのグラフ機能で 可視化・データ分析 金額、日にち、買ったもの など沢山登録するので、 LIFFで一括登録
スプレッドシートを使う、もう一つの”メリット” スプレッドシートのサービスへの登録フロー 家計簿botアプリ(Node.js) サービスアカウント
[email protected]
予め アカウントを
発行 ①作成 ②シート登録 ③OAuth認証で、 サービスアカウントに対する 編集権限を付与(共有設定) 家計簿botアプリ(Node.js) サービスアカウント
[email protected]
支出登録 スプレッドシートへ 直接書き込み PCから直接書き込み この仕組みなら、 サービス内で”ユーザのデータ”を保持しなくてもよく、 データ保持の責任リスクを軽減できる
まとめ① ❖ 大規模なサービスではDBを使うのは当然 ❖ 小規模なサービスでは、DBの代替えとして”スプレッドシート”も選択肢 の一つとなりうる ➢ 直接データを見れるので、開発時のデバッグが楽 ➢
スプレッドシートの機能で可視化できるので、データ分析もしやすい ➢ サービス内でユーザデータを保持しないので、データ保持の責任リスクを軽減で きる ❖ LIFFアプリ(LINEミニアプリ)はスマホアプリの代替えとなるため、小規模 サービスになることが多い ➢ LIFFアプリ(LINEミニアプリ)のDBとして、”スプレッドシート”でも十分実用可能(今 回のようにユーザ単位で小規模データを管理する場合に有効)
まとめ② ❖ ユーザのスプレッドシートと連携してインターフェースだけを提供する、 今回の仕組みに類似したサービス ➢ スプレッドシートからPWAアプリを開発できるサービス「Glide」 ▪ https://www.glideapps.com/ ▪
画面レイアウトはWebからGUIで簡単設定 ▪ スプレッドシートから取得したデータを基にスマホ画面を作成し、サービス提供 ▪ (※今日初めて、Googleの「AppSheet」を知ったのですが、ざっと見た感じ、同じ ようなことが出来そうな気がします。) ❖ ユーザのスプレッドシートと連携し、LIFFアプリ(LINEミニアプリ)で”イン ターフェースだけ”を提供する”サービス”の形が、今後流行るか も???
※LTで話しきれなかった(忘れてた)ことに関する補足 ❏ ユーザのSenderIDとスプレッドシートの紐づけ情報について ❏ 紐づけ情報はサービス内で管理しています。(なので、データ保持の責任リスク を”軽減”する、という言い回しにしていました) ❏ 紐づけ情報は、サービス管理者(私)のGoogleドライブ上のスプレッドシートに暗 号化して保管・管理しています。(DBで管理しても良かったのですが、冒頭で「DB が煩わしい」と言った手前、そういう作りにしました笑)
❏ サンプルアプリのソースコードは、近いうちにGitHub上で公開しようと 思ってます。 ❏ リファクタリング、説明コメントの追記等をしたいので、年内にはアップしたい、、、 と思ってます。 ❏ https://github.com/macochin