GoogleDriveだけで完全無料バックエンド作ろうとしてたけどやめだやめだ〜〜(今プロダクトは)
ども、無職です
ここ数ヶ月、「Yowatari」ってアプリを作ってるんですけど
まだ全然完成してないです
いやしてたはずだったんです
フロントはFlutterで作ってるのでAndroidもiOSも同時に作れてマジ最高をしてたんですけど
そいつのバックエンドはお金を気にして文字通りの"完全無料"で作ろうとしてまして
GoogleDriveのSpreadsheet式DBで作ってました
が、今回折れてしまったのでYowatariで使うのをやめようという決断をしました
今回はそれの仕組みと理由を書いておこうと思います
詳細を書くのはしんどくて折れると思うので軽めに書きます
もっとホントにシンプルなアプリの時に使おうかなって
Spreadsheet式DBの概要
難しいことは何もないです
GoogleDriveのSpreadsheetにデータを貯めるだけです
GASを定期実行させていい感じに処理した後Spreadsheetに書き込みます
(セルあたりとかページ単位とかで書き込める文字数上限あるのは注意)
この時シートには、そのままデータとして流せる形で書き込みます
それを"ウェブに公開"みたいな機能でcsvとして取ってこれるようにします
それだけ
利点欠点
この仕組みにすると、無料で(多分)上限無くデータを取ってこれるんです
FBのCloudFunctionとかGASのAPI機能とか無料枠だと制限あるじゃないですか
それを回避して無料で取ってくるのでわーいみたいな
GDriveのSSをcsvでとってるだけですから
定刻の関数をマネジメントすれば何かの上限に達するとかないのでたぶん
デメリットとしては柔軟性がない事ですね
プリ処理で済ませて後は勝手に取ってけ方式だとこの仕組みはそんなにしんどくないと思います
Yowatariもそんな方針で作ってたのでちゃんとワークしてました
(処理のGASを書くのがしんどすぎるってのはあった)←かなりデメリットってか損失な気がする
なんで折れたか
なんやかんやでコードを何日か触ってなくて、V0.0.2上げるかなと動作確認してたところなんか動かなくなってて
なんでやなんでやしてたら、どうやら"ウェブで公開"なんちゃらでcsvを取ってくる経路がGoogleログインを要求するようになってました
そのせいでレスポンスがログインのhtmlになってておわってた
一応、シートの共有からのexportのurlのformatがcsvで取ってこれるんすけど、そのままレスポンスが"URL移動しましたhtml"で、ワンクッション置かされるかんじで
それ対応すればいままでの仕組みで多分そのまま動かせそうなんですけど
こういう仕様変更に振り回されたりしんどいし、そもそもGASコードを保守するのがしんどすぎる
(シートのプロパティの設定とかシート自体の取り回しとか脳メモリゴリゴリ消費する 本番デプロイとかもしんどい)
ってことで
いままで頑張って書いてきたGDriveのGASとSSの完全無料バックエンドを終わらせることにしました
もっと保守しやすい感じの何かに変えます
全部書き直しかと思うとつらたん
フロントのアプリとかはFlutterでホントに爆速で終わるんすけど
"その"バックとのつながり部分でクソ時間持ってかれてました
これを完成させてわーいするぞって思ってたのに折れることになってやるせない気持ちを発散するためにここに書きました
僕みたいにひもじい人はやってみたらいいと思います
表で蓄積しない、ホントに作り捨て系のデータなら、json作ってGASでDriveに保存してrawのダウンロードとかでできそう(確認してない)(共有の設定コードからできるかな)(移動しました処理は必要になりそうな予感)(ファイル作成個数上限ある)
Yowatari v0.0.2ロンチできたらよろしくお願いします
いつになるかな
そもそもターゲットユーザー数少なすぎる問題あるけど
一応Yowatariの脳内ロードマップは先10年分くらいあるので、気が向いて手伝ってくれる人が今後現れてくれたらうれしいな
お賃金稼げるようになるまで作り続けられるかなぁ.....