リアルタイムデータベース
Cloud Firestore入門

リアルタイムデータベース
Cloud Firestore入門

「【サポーターズ勉強会】リアルタイムデータベース Cloud Firestore入門」の登壇資料です。

https://supporterzcolab.com/event/476/

===
# イベント概要

昨年10月にFirebaseでリリースされた、データベースサービスCloud Firestoreを紹介します。

Firestoreはクラウド上とリアルタイムでのデータのやり取りをクライアントのコードのみで実現できます。

今回の勉強会でFirestoreの基本的な使い方を理解して頂いて、アプリ開発の手助けになれば幸いです。

# こんな話をします

- Firestoreの基本的な使い方
- Firestoreのデータ構成と設計で気をつけること
- Firestoreのセキュリティルールと認証方法
- Firestoreを使ったサンプルプログラム紹介

# こんな方にオススメ

- データをリアルタイムに保存・同期したい人
- Firebaseを使ってみたいと思っている人
- サーバーレスに興味がある人
- バックエンドをなるべく触りたくないアプリエンジニアやフロントエンジニア

3d944ac176998af7e7b116993d06cdd1?s=128

Tetsuya Negishi

August 03, 2018
Tweet

Transcript

  1. 2.

    ࣗݾ঺հ • ࠜ؛ప໵ @wkurokishiw • ϥϯαʔζגࣜձࣾ • ओʹϑϩϯτ·ΘΓ୲౰ • ஜ೾େֶେֶӃ18ଔ

    • ਺஋ղੳ • ֎ࠃਓ؍ޫ޲͚ΞϓϦ։ൃ • WebϑϩϯτΤϯυڧΊ • Vue.js, Vuex, React, Redux
  2. 5.

    ͸͡Ίʹ • ର৅ऀ • FirestoreͰͲΜͳ͜ͱ͕Ͱ͖Δ͔Θ͔Βͳ͍ • FirebaseΛ࢖ͬͯΔ͚ͲFirestore͸࢖ͬͯͳ͍ • ΰʔϧ •

    FirestoreͰͲΜͳ͜ͱ͕Ͱ͖Δ͔ཧղ • εϥΠυ΍αϯϓϧΞϓϦͷίʔυΛಡΊ͹࢖͑Δ • ࠓ೔࿩͞ͳ͍͜ͱ • ύϑΥʔϚϯε/଎౓
  3. 23.

    ଞͷFirebaseαʔϏεͱڧྗͳ࿈ܞ • Firebase Authentication • Ϣʔβೝূػೳ(ϝʔϧ, Google, Facebook, etc..) •

    ೝূͨ͠Ϣʔβͷݖݶઃఆ • Cloud Functions • JavaScriptͷؔ਺ΛΫϥ΢υ্Ͱ࣮ߦ • Firestoreͷॻ͖ࠐΈ΍HTTPϦΫΤετΛ
 τϦΨʔʹ࣮ͯ͠ߦ͢Δ͜ͱ͕Մೳ
  4. 36.

    DBઃܭ - ৑௕Խܕ rooms: { // collection roomId: { //

    document name: comments: { // collection commentId: { //document comment: user: { name:, id: } } } } }
  5. 37.

    DBઃܭ - ৑௕Խܕ • user৘ใ͸৑௕Խ͢Δ • ϝϦοτ • ॻ͖ࠐΈָ͕ •

    ಡΈࠐΈ͕গͳ͍ • σϝϦοτ • user৘ใͷ੔߹ੑ͕ อͯͳ͍ • user৘ใ͕৑௕ rooms: { // collection roomId: { // document name: comments: { // collection commentId: { //document comment: user: { name:, id: } } } } }
  6. 38.

    DBઃܭ - ࢀরܕ • usersίϨΫγϣϯΛ
 ࢀর • ϝϦοτ • user৘ใͷ੔߹ੑ

    • user৘ใ͕؆ܿ • σϝϦοτ • ಡΈࠐΈճ਺͕૿Ճ • ॻ͖ࠐΈ͕൥ࡶ rooms: { // collection … commentId: { //document comment: user: { /users/userId} } … } users: { userId: {name:} }
  7. 39.

    ൺֱ ಡΈऔΓճ਺ σʔλ੔߹ੑ ΫϥΠΞϯτί ʔυͷ؆ܿ͞ ৑௕Խܕ গͳ͍ º ˓ ࢀরܕ

    ଟ͍ ˓ ˚ • ΫϥΠΞϯτଆͷίʔυΛγϯϓϧʹ͍ͨ͠ • Ϣʔβͷ৘ใ͸มԽ͠ͳ͍ͱԾఆ ࠾༻
  8. 50.

    ൺֱ • Realtime Database • ྉ͕͍ۚ҆(͜ͱ͕ଟ͍) • ·ͱΊͯσʔλΛऔಘ͢Δ͜ͱ͕༰қ • Cloud

    Firestore • σʔλͷ੔ཧ͕͠΍͍͢(αϒίϨΫγϣϯ) • ॊೈͳΫΤϦ • σʔλऔಘͷ৚݅Λࡉ͔͘ઃఆՄೳ • Realtime Database͔ΒڧԽ͞Ε͍ͯΔ
  9. 55.

    ϓϩμΫγϣϯ؀ڥʹద༻ͨ͠ͱ͖ͷͰ͖͝ͱ Firestore Realtime Database New Data New Data PVͷଟ͍ϖʔδ PVͷগͳ͍ϖʔδ

    • ͳΜͱ͔ແྉ࿮ʹऩΊ͍ͨ • ಡΈऔΓΛ෼ࢄͤͯ͞ແྉ࿮ʹऩΊΔ Cloud Functions
  10. 60.