Slide 1

Slide 1 text

LIFFアプリ
 ×
 スプレッドシート
 のススメ


Slide 2

Slide 2 text

❏ これまでのスマホアプリの作り方としては、以下の通り
 ❏ ネイティブアプリ
 ❏ Webアプリ(PWA等)
 ❏ ハイブリットアプリ・クロスプラットフォームアプリ(PhoneGap等)
 
 ❏ LIFFの登場により、LIFFアプリ(LINEミニアプリ)というスマホアプリの新た な選択肢が増えました
 
 ❏ LIFFアプリ(LINEミニアプリ)が、旧来のスマホアプリの代替えになりうると いうことで、そのサービスを構築する上では”DB”のことも考える必要が あります
 スマホアプリ・LIFFアプリ(LINEミニアプリ)について


Slide 3

Slide 3 text

〇〇サービス
 DBって”煩わしく”感じるときってありません???
 ユーザ
 SQL
 開発者
 グラフ化などしてデータ分析
 (デバッグ時などに) 
 ちょっとデータを確認したいだけなのにSQL を書かなければいけない、、、 
 データ分析する際などは、一度Excelに落と してグラフ化することが多々あり 
 この”ワンアクション”がもどかしい。。。


Slide 4

Slide 4 text

〇〇サービス
 ユーザ
 開発者
 グラフ化などしてデータ分析
 じゃあ、初めから
 Excel形式の”スプレッドシート”に書きませんか?


Slide 5

Slide 5 text

例)家計簿アプリ
 家計簿botアプリ
 (Node.js)
 クレジット利用明細 
 クレジット利用明細 
 (CSV)をPCで貼り付け 
 買ったら、
 その場で登録
 スプレッドシートのグラフ機能で 
 可視化・データ分析 
 金額、日にち、買ったもの など沢山登録するので、 LIFFで一括登録 


Slide 6

Slide 6 text

スプレッドシートを使う、もう一つの”メリット”
 スプレッドシートのサービスへの登録フロー 
 
 家計簿botアプリ(Node.js)
 サービスアカウント
 [email protected] 
 予め
 アカウントを 発行
 ①作成
 ②シート登録
 ③OAuth認証で、
  サービスアカウントに対する 
  編集権限を付与(共有設定) 
 
 家計簿botアプリ(Node.js)
 サービスアカウント
 [email protected] 
 支出登録
 スプレッドシートへ
 直接書き込み
 PCから直接書き込み 
 この仕組みなら、
 サービス内で”ユーザのデータ”を保持しなくてもよく、
 データ保持の責任リスクを軽減できる


Slide 7

Slide 7 text

まとめ①
 ❖ 大規模なサービスではDBを使うのは当然
 
 ❖ 小規模なサービスでは、DBの代替えとして”スプレッドシート”も選択肢 の一つとなりうる
 ➢ 直接データを見れるので、開発時のデバッグが楽
 ➢ スプレッドシートの機能で可視化できるので、データ分析もしやすい
 ➢ サービス内でユーザデータを保持しないので、データ保持の責任リスクを軽減で きる
 
 ❖ LIFFアプリ(LINEミニアプリ)はスマホアプリの代替えとなるため、小規模 サービスになることが多い
 ➢ LIFFアプリ(LINEミニアプリ)のDBとして、”スプレッドシート”でも十分実用可能(今 回のようにユーザ単位で小規模データを管理する場合に有効)


Slide 8

Slide 8 text

まとめ②
 ❖ ユーザのスプレッドシートと連携してインターフェースだけを提供する、 今回の仕組みに類似したサービス
 ➢ スプレッドシートからPWAアプリを開発できるサービス「Glide」
 ■ https://www.glideapps.com/ 
 ■ 画面レイアウトはWebからGUIで簡単設定 
 ■ スプレッドシートから取得したデータを基にスマホ画面を作成し、サービス提供 
 ■ (※今日初めて、Googleの「AppSheet」を知ったのですが、ざっと見た感じ、同じ ようなことが出来そうな気がします。) 
 
 ❖ ユーザのスプレッドシートと連携し、LIFFアプリ(LINEミニアプリ)で”イン ターフェースだけ”を提供する”サービス”の形が、今後流行るか も???


Slide 9

Slide 9 text

※LTで話しきれなかった(忘れてた)ことに関する補足
 ❏ ユーザのSenderIDとスプレッドシートの紐づけ情報について
 ❏ 紐づけ情報はサービス内で管理しています。(なので、データ保持の責任リスク を”軽減”する、という言い回しにしていました)
 ❏ 紐づけ情報は、サービス管理者(私)のGoogleドライブ上のスプレッドシートに暗 号化して保管・管理しています。(DBで管理しても良かったのですが、冒頭で「DB が煩わしい」と言った手前、そういう作りにしました笑)
 
 ❏ サンプルアプリのソースコードは、近いうちにGitHub上で公開しようと 思ってます。
 ❏ リファクタリング、説明コメントの追記等をしたいので、年内にはアップしたい、、、 と思ってます。
 ❏ https://github.com/macochin