オフライン編集もできる複雑なデータ構造を端末間で同期するために by rokuroku

iOSDC Japan 2021
採択
2021/09/19 14:50〜
Track D
レギュラートーク(40分)

オフライン編集もできる複雑なデータ構造を端末間で同期するために

496_ rokuroku 496_

皆さんも開発をしていて端末間のデータ同期システムが必要になったことはありませんか。
この発表ではオフライン編集可能なテキストエディタのバックエンドとして作った、テキストファイル同期システムの設計やその構成、開発環境についてお話しします。
同期システムはiOS / Android / WebだけではなくWindowsなどのデスクトップOSへの展開も見据え、iCloudに依らない実装が必要でした。また作成するアプリの特性上、同期の仕組みをユーザーに十分説明できるように同期の仕組みを全て実装することにしました。

  • サーバー構成と開発環境(今回はAzure Functionsを中心に設計したのでその話)
  • 採用したシステムとFirestoreを使った場合の比較
  • 複雑な系において、アプリのCIにもDockerなどでサーバーを立てるメリット
  • オフライン編集を前提とした同期のためのデータベース設計のコツ(ローカル・サーバー両方)
  • iOSのファイルアプリに同期対象のファイルを露出させる方法などプラットフォーム固有の話