Firestoreを勉強してみ
た
第二十六回 岡山モバイルアプリ開発もくもく会
5/20 石川 諒
自己紹介
• 名前 : 石川諒 (イシカワ アキラ)
• 中国職業能力開発大学校 4年生
• twitter : ishikawa__pro
• GitHub : ishikawa-pro
• 好きな言語 : Swift
• 住んできた所
島根 → 福山 → 岡山
Firestore勉強してみた
Firestoreとは
• Googleが提供してるFirebaseというmBaaSの
サービスの一つ
• 岡モバのイベント共有アプリで使ってるやつ
• クラウドデータベースでNoSQL
• クライアントアプリ間でデータを同期
• オフラインでも動く(ほぼコードの変更
なく動く)
Firestoreとは
仕組み
• ドキュメント指向データベース
• テーブルや行はなく、階層型データ構造
• データはドキュメントへ格納し、ドキュ
メントはコレクションにまとめる
こんなイメージ
データ型
• 配列
• ブール値
• バイト(最大1,048,487 バイト)
• 日付
• 浮動小数点数
• 地理的座標
• 地図
• Null
• 参照
• テキスト文字列
セキュリティ
• コレクションやドキュメントごとに、
read, write設定が可能
iOSで使うには?
• iOS用のSDKもある
• Cocoapodsにのみ対応
• Swift / Objective-C 対応 (ライブラリ
自体はObjective-C製)
使ってみる
• ドキュメントの取得
使ってみる
• データの追加
使ってみて
• とっつきやすい
• サーバーサイドの実装をほぼしなくて
いいから、アプリの開発に専念できる
• SDKがあるから実装もそこそこ楽
微妙なところ
• データを追加する際に、[String:Any]
のDictionary型で値を渡さないといけ
ない(iOSだけ)
• Java / Androidはカスタムクラスをそ
のまま渡せばデータを追加できる。
iOSでももっと楽に実装したい
iOSでももっと楽に実装したい
• Pringというサードパーティ製のライ
ブラリがある(Swift用)
• ⚠まだベータ版(ほぼ実装は終わって
る?)
Pring
• Swift製のFirestore Model Framework
• カスタムクラスを作ってFirestoreのモ
デルを管理できる。
• Realmっぽい感じ

Firestoreを勉強してみた