クラウドデータの読み書きで苦戦/WindowsではFirestore SDKが使えない!? – 開発日記(33)

2023/06/06

クラウド上のファイルを一覧表示する機能は出来てきた。次は個別ファイルをクリックしたときに「中身を読み込み」する処理に取り掛かった。Firestoreを扱うのは初めてなので、引っかかりポイントや覚えねばならない事が結構出てくる。

2023/06/07

  • ファイル一覧パネルをアニメーションで表示するときの不具合対応で難儀した。
    • アニメーションでWidgetのサイズを連続的に変える場合は、表示され始めなど小さい状態でも問題が出ないようにしないといけない。たとえばWidthが0とか1で表示されるタイミングがあり、そこでエラーになってしまうような描画ではまずい
    • そのことに気づかず、ListTileのtrailing Icon周りでの大量エラーに困り時間がかかってしまった。
  • ミニリファクタリングを実施

2023/06/08

  • 引き続きクラウド対応を進めた。
    • Web版:クラウド上のファイル削除の実装
    • PC(Windows)版:クラウド上のファイル読み込みの実装
PC版のクラウド処理について補足

実はFlutter標準のFirebase SDKは、WindowsでのFirestoreの読み書きに対応していません。

Firebaseの公式ドキュメント。iOSとAndroidとWebには対応しているが、WindowsやMacには対応していない

そこで私はFireDartというパッケージを使い、WindowsでのFirestoreの処理を実現することにしました。

FireDartがあるだけありがたいのですが、本家SDKとの仕様の違いが結構あり、対応には非常に時間がかかりました。

そのためこのタイミングでWindows版のクラウドデータの「読み込み」は実装しましたが、それ以外の処理(データ保存・削除やこのあと出てくるGoogle認証など)は、後回しにする判断をしました。

ちなみに久々にWindows版をビルドして触ってみたところ、やはり動作が早い。Web版はのっそりで、Windows版はサクサクというのをあらためて実感。

Windowsアプリとして動かしている様子。flutterはPCもWebも1ソースで動かせるのは凄いが、プラットフォームごとの違いが結構あり、ちゃんと対応させるのは簡単ではない。


※本記事は当時の記録をもとに作成し、必要に応じて加筆・補足しています

テキストベースの思考整理ツール「アイディア・レーン」最新版はこちら

コメント

タイトルとURLをコピーしました