Slide 1

Slide 1 text

Tiny Mouse JavaScript アプリで使うデータベースを考える Hamamatsu.js 2018/11/17

Slide 2

Slide 2 text

自己紹介 n @tinymouse_jp n SI 企業の SE n 日曜プログラマ n 二児の父 n 静岡県浜松市出身 n 東京都品川区在住。名古屋市在住。 n Windows 愛用。iPhone Android スマホ n Android の会浜松支部、よちよち Android の会 Tiny Mouse

Slide 3

Slide 3 text

家計簿アプリを作った

Slide 4

Slide 4 text

とりあえずスタンドアロン オフライン対応とか 認証対応とか とりあえず不要

Slide 5

Slide 5 text

家計簿アプリを作る Node.js+nedb +Electron クラウドサーバ バックエンドは・・

Slide 6

Slide 6 text

これからやりたいこと n サーバサイドをクラウドサービスにするため認 証機能を加える n 同時にデータベースを nedb から別のものに する

Slide 7

Slide 7 text

ウェブアプリにすると オフライン対応とか 認証対応とか 必要だけど面倒

Slide 8

Slide 8 text

クラサバアプリの場合 ウェブアプリも Ajax 使うと クラサバアプリと同じだね

Slide 9

Slide 9 text

クラサバアプリはこんなのも こうなると、構造は スタンドアロンと同じだね

Slide 10

Slide 10 text

さて・・

Slide 11

Slide 11 text

こんなのできないかな アプリのコードはそのままで データベースだけサーバに

Slide 12

Slide 12 text

こんなのがあった MongoDB 互換の Nedb を使う これまでのコードがそのまま使えそう l MongoDB Stitch オフライン対応できないのが残念 iOS 、Android 用の MongoDB Mobile ならオフライン対応あり そもそもクライアントアプリ用でない

Slide 13

Slide 13 text

こんなのがあった l Realm Database +Realm Platform ちょっと高額・・ ローカルのデータが クラウドサーバと同期される =簡単にオフライン対応 Nedb を使うこれまでのコードが そのまま使えない (60,000円/アプリ・年)

Slide 14

Slide 14 text

こんなのがあった l Firestore on Firebase l PouchDB でも、単純なキーバリュー型・・ 条件指定して検索とか更新できない ローカルのデータが クラウドサーバと同期される 安価または無料で使える

Slide 15

Slide 15 text

こんなのはどうかな ローカルのデータベースは そのままで、そのデータを キーバリュー型データベース と同期させる

Slide 16

Slide 16 text

ちょっと試してみるか! ということで・・