- PORT Firebase × Flutterに参加してきました。
タイトル | 発表者 |
---|---|
Flutterで使うCloud Firestore | Shogo Yamada |
Flutter × Firebase Crashlytics | 菊池 紘 |
Firestoreのトランザクション | 村本 章憲 |
Flutterで使うCloud Firestore
FlutterとFirebase
- FlutterでFirebaseを使うプラグインが豊富
- 基本的に全部ある
- Firestoreのincrementも最近対応
- 使い心地はWeb版Firebaseっぽい
- Flutterだから使えないみたいな話は基本的になし
- ネイティブでドキュメント通り実装されたものをFlutterから呼んでるだけ
開発スピード
- Flitterはホットリロードあるし快適
- Firebase使えばサーバサイドメンテ必要なし
- Flutterの知識やFirestoreの知識は必要
今後の動き
- Firestoreに新機能がでるとFlutter側にissue立ってすぐ対応される
- Flutter × Firestoreではやってる実績はまだ見ない
Flutter × Firebase Crashlytics
- 菊池 紘さん(Diverse)
youbrideというアプリ
- 既存アプリをFlutterに置き換えている
- ScopedModelアーキテクチャ
- gRPCでサーバと通信
Flutterをproductionで運用
- クラッシュレポートどう取得する
- firebase_clashlyticsという公式のプラグイン(まだ開発段階のもの)
- 導入面倒だけどマニュアル通りやればよい
- 端末で発生した例外を記録してサーバに送ってくれる
- Dartの例外のでかたがまだ微妙
- 全部非致命的エラーになる
- 拡張子が.javaになる
- 例外の種別不明
- 難読化マップ非対応
競合サービス
- Fabric Crashlytics
- Firebase Clashlyticsとほぼ同じ
- 2020/3/31に終了予定
- Sentry
- 有料
- 難読化マップ非対応?
Firestoreのトランザクション
- 村本 章憲さん(Stamp)
FireStoreでtransaction
- 同時に更新しようとしたときに問題が起きる
- update time
- 1/sec
- 一秒に一回しか更新できない
runTransaction()
- read/write/observe/commit/rollback
- read -> write -> commit
- observerがwriteを監視してる
- 他でwriteされてたらrollbackしてretry
- 5回retryしてだめだとそこで終わる
- 1秒間に100更新が来たら95は失敗する
- Distributed counter
- shardingする
- 増やせばいいというものでもないのでどれくらいshard数にするかは設計しだい
メモ
- FlutterでCI