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
810
0
Share
LIFFアプリ×スプレッドシートのススメ(2020/10/21 LT祭り)
macochin
October 22, 2020
Other Decks in Programming
See All in Programming
タクシーアプリ『GO』の バックエンド開発のおける AI利活用と若者のすべて
pyama86
3
1.8k
プラグインで拡張される Context をtype-safe にする難しさと設計判断
kazupon
2
570
AutonomyとControlのあいだ:Graflowで記述するAIエージェント協調
myui
0
100
Old Dog, New Tricks: The Java 25 Reinvention - JNation
bazlur_rahman
0
140
LLM Plugin for Node-REDの利用方法と開発について
404background
0
160
Composerを使ったサプライチェーン攻撃の様子を眺めてみる #phpstudy
o0h
PRO
2
220
Swiftのレキシカルスコープ管理
kntkymt
0
210
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
3
940
技術記事、AIに書かせるか、自分で書くか? 〜それでも私が自分の手で書く理由〜 / #QiitaConference
jnchito
2
1.3k
Oxcを導入して開発体験が向上した話
yug1224
4
280
dRuby over BLE
makicamel
2
300
Oxlintのカスタムルールの現況
syumai
5
990
Featured
See All Featured
Information Architects: The Missing Link in Design Systems
soysaucechin
0
960
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
840
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
440
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1.1k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
160
How to Think Like a Performance Engineer
csswizardry
28
2.6k
Into the Great Unknown - MozCon
thekraken
41
2.5k
Embracing the Ebb and Flow
colly
88
5.1k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
130
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.6k
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