LIFFアプリ×スプレッドシートのススメ(2020/10/21 LT祭り)

86ee5be9683418fbfb216692fc3f27c5?s=47 macochin
October 22, 2020

LIFFアプリ×スプレッドシートのススメ(2020/10/21 LT祭り)

86ee5be9683418fbfb216692fc3f27c5?s=128

macochin

October 22, 2020
Tweet

Transcript

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


  2. ❏ これまでのスマホアプリの作り方としては、以下の通り
 ❏ ネイティブアプリ
 ❏ Webアプリ(PWA等)
 ❏ ハイブリットアプリ・クロスプラットフォームアプリ(PhoneGap等)
 
 ❏

    LIFFの登場により、LIFFアプリ(LINEミニアプリ)というスマホアプリの新た な選択肢が増えました
 
 ❏ LIFFアプリ(LINEミニアプリ)が、旧来のスマホアプリの代替えになりうると いうことで、そのサービスを構築する上では”DB”のことも考える必要が あります
 スマホアプリ・LIFFアプリ(LINEミニアプリ)について

  3. 〇〇サービス
 DBって”煩わしく”感じるときってありません???
 ユーザ
 SQL
 開発者
 グラフ化などしてデータ分析
 (デバッグ時などに) 
 ちょっとデータを確認したいだけなのにSQL を書かなければいけない、、、

    
 データ分析する際などは、一度Excelに落と してグラフ化することが多々あり 
 この”ワンアクション”がもどかしい。。。

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


  5. 例)家計簿アプリ
 家計簿botアプリ
 (Node.js)
 クレジット利用明細 
 クレジット利用明細 
 (CSV)をPCで貼り付け 
 買ったら、


    その場で登録
 スプレッドシートのグラフ機能で 
 可視化・データ分析 
 金額、日にち、買ったもの など沢山登録するので、 LIFFで一括登録 

  6. スプレッドシートを使う、もう一つの”メリット”
 スプレッドシートのサービスへの登録フロー 
 
 家計簿botアプリ(Node.js)
 サービスアカウント
 xxx@yyy.iam.gserviceaccount.com 
 予め
 アカウントを

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

  7. まとめ①
 ❖ 大規模なサービスではDBを使うのは当然
 
 ❖ 小規模なサービスでは、DBの代替えとして”スプレッドシート”も選択肢 の一つとなりうる
 ➢ 直接データを見れるので、開発時のデバッグが楽
 ➢

    スプレッドシートの機能で可視化できるので、データ分析もしやすい
 ➢ サービス内でユーザデータを保持しないので、データ保持の責任リスクを軽減で きる
 
 ❖ LIFFアプリ(LINEミニアプリ)はスマホアプリの代替えとなるため、小規模 サービスになることが多い
 ➢ LIFFアプリ(LINEミニアプリ)のDBとして、”スプレッドシート”でも十分実用可能(今 回のようにユーザ単位で小規模データを管理する場合に有効)

  8. まとめ②
 ❖ ユーザのスプレッドシートと連携してインターフェースだけを提供する、 今回の仕組みに類似したサービス
 ➢ スプレッドシートからPWAアプリを開発できるサービス「Glide」
 ▪ https://www.glideapps.com/ 
 ▪

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

  9. ※LTで話しきれなかった(忘れてた)ことに関する補足
 ❏ ユーザのSenderIDとスプレッドシートの紐づけ情報について
 ❏ 紐づけ情報はサービス内で管理しています。(なので、データ保持の責任リスク を”軽減”する、という言い回しにしていました)
 ❏ 紐づけ情報は、サービス管理者(私)のGoogleドライブ上のスプレッドシートに暗 号化して保管・管理しています。(DBで管理しても良かったのですが、冒頭で「DB が煩わしい」と言った手前、そういう作りにしました笑)


    
 ❏ サンプルアプリのソースコードは、近いうちにGitHub上で公開しようと 思ってます。
 ❏ リファクタリング、説明コメントの追記等をしたいので、年内にはアップしたい、、、 と思ってます。
 ❏ https://github.com/macochin