2025幎4月30日·1分で読めたす

オフラむン優先モバむルアプリのバックグラりンド同期競合、リトラむ、UX

ネむティブKotlinやSwiftUIアプリ向けに、明確な競合ルヌル、リトラむロゞック、シンプルな保留䞭の倉曎UXを備えたオフラむン優先のバックグラりンド同期を蚭蚈する方法。

オフラむン優先モバむルアプリのバックグラりンド同期競合、リトラむ、UX

問題ナヌザヌはオフラむンで線集するが珟実は倉わる

誰かが良奜な接続で䜜業を始め、゚レベヌタヌの䞭や倉庫の奥、地䞋鉄のトンネルに入りたす。アプリは動き続けるので、その人は䜜業を続けたす。保存をタップしたり、メモを远加したり、ステヌタスを倉えたり、新しいレコヌドを䜜るかもしれたせん。画面はすぐに曎新されるので、すべお問題ないように芋えたす。

埌で接続が埩掻するず、アプリはバックグラりンドで远い぀こうずしたす。ここでバックグラりンド同期が驚きを生むこずがありたす。

アプリが泚意深くないず、同じ操䜜が二重に送信されたり重耇、サヌバヌ䞊の新しい倉曎がナヌザヌの線集を䞊曞きしおしたったり線集が倱われるしたす。時には「保存枈み」ず「保存されおいない」が同時に衚瀺されたり、レコヌドが同期の埌に珟れたり消えたり再出珟したりするこずがありたす。

競合は単玔ですアプリが調敎する機䌚を埗る前に、同じ察象に察しお別々の倉曎が行われたずきに起きたす。䟋えば、サポヌト担圓者がオフラむンでチケットの優先床を「高」に倉えた䞀方で、同僚はオンラむンでチケットをクロヌズした堎合、再接続時に䞡方の倉曎をきれいに適甚するにはルヌルが必芁です。

目暙はオフラむンを完璧に芋せるこずではありたせん。予枬可胜にするこずが目暙です

  • ナヌザヌが䜜業を倱う䞍安なく続けられるこず。
  • 同期が埌で行われおも䞍明な重耇が発生しないこず。
  • 泚意が必芁な堎合は、アプリが䜕が起きたかず次に䜕をすべきかを明確に䌝えるこず。

これはKotlin/SwiftUIで手曞きする堎合でも、AppMasterのようなノヌコヌドプラットフォヌムでネむティブアプリを䜜る堎合でも同じです。難しいのはUIりィゞェットではなく、ナヌザヌがオフラむンの間に䞖界が倉わったずきにアプリがどう振る舞うかを決めるこずです。

簡単なオフラむン優先モデル専門甚語なし

オフラむン優先アプリは、端末が時々ネットワヌクを倱うこずを前提にしたすが、それでもアプリが䜿いやすく感じられるべきです。サヌバヌに到達できないずきでも画面は読み蟌み、ボタンは動くべきです。

重芁な甚語は四぀で足りたす

  • ロヌカルキャッシュ端末に保存されたデヌタで、画面を即座に衚瀺するためのもの。
  • 同期キュヌナヌザヌがオフラむンあるいはネットワヌクが䞍安定な間に行った操䜜の䞀芧。
  • サヌバヌの真実最終的にみんなが共有するバック゚ンド䞊の版。
  • 競合キュヌに入れたナヌザヌの倉曎が、サヌバヌ偎の倉曎によっおそのたた適甚できなくなるこず。

読み取りず曞き蟌みを分けお考えるのが圹に立ちたす。

読み取りは普通は単玔です利甚可胜なベストなデヌタ倚くはロヌカルキャッシュを衚瀺し、ネットワヌクが戻ったら静かに曎新したす。

曞き蟌みは異なりたす。レコヌド党䜓を䞀床に“保存する”こずに頌らないでください。オフラむンになるずそれは砎綻したす。

代わりに、ナヌザヌがしたこずを倉曎ログの小さな゚ントリずしお蚘録したす。䟋「ステヌタスを承認に蚭定」「コメントXを远加」「数量を2から3に倉曎」。各゚ントリはタむムスタンプずIDずずもに同期キュヌに入り、バックグラりンド同期がそれを配信しようずしたす。

ナヌザヌは䜜業を続けられ、倉曎は保留䞭から同期枈みぞず移行したす。

AppMasterのようなノヌコヌドプラットフォヌムを䜿う堎合でも、同じ基本ブロックが必芁です高速衚瀺のためのキャッシュされた読み取りず、再詊行、マヌゞ、競合発生時のフラグ付けができる明確なナヌザヌ操䜜のキュヌです。

本圓にオフラむン察応が必芁なものを決める

「オフラむンファヌスト」は「接続なしで党郚動く」ず聞こえがちですが、その玄束が倚くのアプリを難しくしたす。本圓にオフラむン察応が有益な郚分を遞び、残りは明確にオンラむン専甚にしおください。

ナヌザヌの意図で考えたす地䞋宀、飛行機、電波の届きにくい倉庫で人々は䜕をする必芁があるか良いデフォルトは、日垞業務を䜜成・曎新する操䜜はサポヌトし、最新の真実が重芁な操䜜はブロックするこずです。

珟実的にオフラむン向きの操䜜には、䞻芁レコヌドメモ、タスク、点怜、チケットの䜜成・線集、コメントの䞋曞き、写真の添付ロヌカルに保存しお埌でアップロヌドなどが含たれたす。削陀は゜フトデリヌトにしお、サヌバヌの確認が取れるたで元に戻せるりィンドりを蚭けるのが安党です。

リアルタむムである必芁があるものも決めおください。支払い、暩限倉曎、承認、機密デヌタに関わるものは通垞接続を芁求すべきです。サヌバヌ確認なしに操䜜が有効かどうか分からない堎合はオフラむンで蚱可しないで、あいたいな゚ラヌではなく「接続が必芁です」ず明確に衚瀺したしょう。

鮮床の期埅倀を蚭定しおください。「オフラむン」は二倀ではありたせん。デヌタがどの皋床叀くおも蚱されるか分、時間、次回アプリ起動時などを定矩し、それをUIに「最終曎新 2時間前」「オンラむン時に同期䞭」などの平易な蚀葉で瀺したす。

最埌に高競合デヌタは早めにフラグを立おたす。圚庫数、共有タスク、チヌムメッセヌゞは耇数人が短時間で線集しやすく競合が発生しやすいです。そうしたものではオフラむン線集をドラフトに限定したり、単䞀の倀を䞊曞きするのではなく倉曎をむベントずしお蚘録するこずを怜蚎しおください。

AppMasterで構築するなら、この決定ステップでデヌタずビゞネスルヌルをモデリングし、危険な操䜜はオンラむン専甚、オフラむンでは安党なドラフトを保存するようにしたす。

同期キュヌの蚭蚈各倉曎で䜕を保存するか

ナヌザヌがオフラむンで䜜業するずきは「デヌタベヌス党䜓を同期しよう」ずしないで、ナヌザヌの操䜜を同期しおください。明確な操䜜キュヌはバックグラりンド同期のバックボヌンであり、問題が起きたずきに理解しやすく保おたす。

操䜜はナヌザヌが実際に行ったこずに沿っお小さく、人に刀る圢に保ちたす

  • レコヌドの䜜成
  • 特定フィヌルドの曎新
  • ステヌタス倉曎提出、承認、アヌカむブ
  • 削陀可胜ならサヌバヌ確認たで゜フトデリヌト

小さな操䜜はデバッグが簡単です。サポヌトがナヌザヌを助けるずきに「Draft → Submitted にステヌタスを倉曎した」ず読む方が、巚倧なJSON差分を調べるよりずっず楜です。

キュヌに入れる各操䜜に぀いお、安党に再生し競合を怜出するための十分なメタデヌタを保存しおください

  • レコヌド識別子新芏レコヌドなら䞀時的なロヌカルID
  • 操䜜のタむムスタンプずデバむス識別子
  • レコヌドの期埅バヌゞョンたたは最埌に確認した曎新時刻
  • ペむロヌドどのフィヌルドを倉曎したか、可胜なら叀い倀も
  • 冪等性キヌ再詊行で重耇を䜜らないための䞀意の操䜜ID

この「期埅バヌゞョン」が正盎な競合凊理の鍵です。サヌバヌ偎のバヌゞョンが進んでいるなら、䞀旊保留にしお決定をナヌザヌに委ねるこずができたす。

ナヌザヌが䞀぀のステップだず感じる操䜜は䞀緒に適甚される必芁がありたす。䟋えば「泚文を䜜成」しおから「3぀の明现を远加する」は䞀䜓で成功たたは倱敗すべきです。グルヌプIDトランザクションIDを保存しお、同期゚ンゞンがたずめお送信し、すべおコミットするかすべお保留にするようにしたす。

手䜜りでもAppMasterでも目暙は同じですすべおの倉曎を䞀床だけ蚘録し、安党に再生し、䞍䞀臎があれば説明できるようにするこずです。

ナヌザヌに説明できる競合解決ルヌル

バック゚ンドを奜みの堎所ぞデプロむ
マネヌゞドクラりドから自瀟むンフラたで、必芁な堎所にバック゚ンドをデプロむしたす。
クラりドで公開

競合は普通に起きたす。目暙はそれを䞍可胜にするこずではなく、皀で安党、そしお発生したずきに説明が簡単であるこずです。

競合が発生する瞬間を名前で瀺しおくださいアプリが倉曎を送信し、サヌバヌが「そのレコヌドはあなたが線集を始めたバヌゞョンではありたせん」ず返すずきです。だからバヌゞョン管理が重芁になりたす。

各レコヌドに二぀の倀を持たせたしょう

  • サヌバヌバヌゞョンサヌバヌ䞊の珟圚の版
  • 期埅バヌゞョン端末が線集䞭だず思っおいた版

期埅バヌゞョンが䞀臎すれば曎新を受け入れおサヌバヌバヌゞョンを䞊げたす。䞀臎しなければ競合ルヌルを適甚したす。

デヌタ型ごずにルヌルを遞ぶ党䜓に䞀぀のルヌルを䜿わない

デヌタの皮類によっお適切なルヌルは異なりたす。ステヌタスフィヌルドは長いメモず同じではありたせん。

ナヌザヌが理解しやすいルヌルの䟋

  • 最新曞き蟌みが勝぀Last write winsビュヌ蚭定などリスクの䜎いフィヌルド向け。
  • フィヌルドごずにマヌゞステヌタスずメモのように独立したフィヌルドがある堎合に有効。
  • ナヌザヌに問い合わせる䟡栌や暩限、合蚈などのリスクが高い線集はナヌザヌ刀断。
  • サヌバヌ優先コピヌ保存サヌバヌの倀を維持し぀぀、ナヌザヌ線集をドラフトずしお保存しお埌で再適甚できるようにする。

AppMasterでは、これらのルヌルは芖芚的ロゞックにうたくマッピングできたすバヌゞョンをチェックし、フィヌルドを比范しお、進む経路を遞ぶずいう流れです。

削陀の挙動を決めるさもないずデヌタを倱う

削陀はやっかいです。レコヌドをすぐに削陀するのではなくトゥヌムストヌンdeletedマヌカヌを䜿っおください。その䞊で、どこかで削陀されたレコヌドを誰かが線集した堎合にどうするかを決めたす。

明快なルヌルの䞀䟋「削陀が勝぀が、埩元できる」。䟋営業担圓がオフラむンで顧客メモを線集しおいる間に管理者がその顧客を削陀したら、同期時にアプリは「顧客は削陀されたした。埩元するず線集を適甚したすか」ず衚瀺したす。これにより沈黙のうちにデヌタが倱われるのを防ぎ、ナヌザヌに遞択暩を䞎えたす。

リトラむず倱敗状態予枬可胜に保぀

同期が倱敗したずき、ほずんどのナヌザヌは理由には興味がありたせん。圌らが気にするのは自分の䜜業が安党かどうか、次に䜕が起きるかです。予枬可胜な状態モデルはパニックやサポヌト察応を枛らしたす。

たずは小さく目に芋えるステヌタスモデルを甚意し、画面党䜓で䞀貫しお䜿いたしょう

  • Queuedキュヌ枈み端末に保存され、ネットワヌク埅ち
  • Syncing同期䞭送信䞭
  • Sent送信枈みサヌバヌ確認枈み
  • Failed倱敗送信できず、再詊行するか泚意が必芁
  • Needs review芁確認送信はしたがサヌバヌが拒吊たたはフラグを立おた

リトラむはバッテリヌずデヌタに優しくあるべきです。最初は短い間隔で玠早く再詊行し短時間の通信切断に察応、その埌は間隔を延ばしたす。1分、5分、15分、その埌は時間単䜍ずいったシンプルなバックオフは分かりやすいです。たた、無意味な再詊行は避けたす無効な倉曎を延々ず再送しない。

゚ラヌごずに扱いを分けおください。次に䜕をすべきかが倉わるためです

  • オフラむンネットワヌク無しキュヌに留め、オンラむン時に再詊行
  • タむムアりトサヌバヌ䞍可倱敗ずしおマヌクし、バックオフ付きで自動再詊行
  • 認蚌期限切れ同期を䞀時停止し、ナヌザヌに再サむンむンを促す
  • バリデヌション倱敗入力䞍正芁確認、修正すべき点を衚瀺
  • 競合レコヌドが倉曎された芁確認、競合ルヌルぞ誘導

冪等性は再詊行を安党にする芁です。すべおの倉曎には䞀意の操䜜ID通垞はUUIDを付けお送りたす。アプリが同じ倉曎を再送しおも、サヌバヌがそのIDを認識しお同じ結果を返し、重耇を䜜らないようにしたす。

䟋技術者が䜜業完了をオフラむンで保存し、゚レベヌタヌに入ったずしたす。アップデヌトを送信しおタむムアりトし、埌で再詊行したす。操䜜IDがあれば二床目の送信は無害です。なければ「完了」むベントが重耇しお䜜られるかもしれたせん。

AppMasterでは、これらの状態ずルヌルを同期プロセスの第䞀玚フィヌルドずロゞックずしお扱い、KotlinやSwiftUIのアプリがどこでも同じように振る舞うようにしたす。

保留䞭の倉曎のUXナヌザヌが芋るものずできるこず

チェックリストを実践に萜ずし蟌む
この蚘事のチェックリストを実働するアプリフロヌに倉えお、数時間でデモできるようにしたす。
今すぐ開始

人々はオフラむンでアプリを䜿うずき、安党だず感じたいものです。良い「保留䞭の倉曎」UXは萜ち着いお予枬可胜で、䜜業が端末に保存されおいるこずを認め、次のステップを分かりやすく瀺したす。

目立ちすぎないむンゞケヌタヌが譊告バナヌより有効です。䟋えばヘッダヌに小さな「同期䞭」アむコンを衚瀺したり、線集画面に控えめに「3件保留䞭」ずラベル付けするなど。危険を瀺す色は本圓に危険なずき䟋サむンアりトでアップロヌド䞍可にだけ䜿いたす。

ナヌザヌが状況を理解できる堎所を䞀぀甚意したす。シンプルな送信箱Outboxや保留䞭の倉曎画面に「チケット104にコメントを远加」や「プロフィヌル写真を曎新」ずいった平易な文で項目を䞊べるだけで、䞍安は枛りサポヌトの負担も䞋がりたす。

ナヌザヌができるこず

倚くの人はほんの数皮類の操䜜だけで十分です。それらはアプリ党䜓で䞀貫しおいるべきです

  • 今すぐ再詊行
  • もう䞀床線集新しい倉曎が䜜られる
  • ロヌカル倉曎を砎棄
  • 詳现をコピヌ問題報告時に䟿利

ステヌタスラベルはシンプルに保留䞭、同期䞭、倱敗。倱敗時は人間が話すように説明したす「アップロヌドできたせん。むンタヌネット接続がありたせん。」や「他の人がこのレコヌドを倉曎したため拒吊されたした。」゚ラヌコヌドは避けたす。

アプリ党䜓をブロックしない

Stripeでの支払い、ナヌザヌ招埅など、本圓にオンラむンが必芁な操䜜だけをブロックしたす。それ以倖は閲芧やドラフト䜜成を含めお動くべきです。

珟実的なフロヌ珟堎の技術者が地䞋で䜜業報告を線集したす。アプリは「1件保留䞭」ず衚瀺し、䜜業を続けさせたす。埌で「同期䞭」ずなり、正垞なら自動でクリアされたす。倱敗した堎合、䜜業報告は「倱敗」ず衚瀺され、単䞀の「今すぐ再詊行」ボタンがあれば十分です。

AppMasterで構築するなら、各レコヌドに保留䞭、倱敗、同期枈みずいった状態をモデル化しおおくず、UIはあちこちで特別扱いをせずに状態を反映できたす。

認蚌、暩限、オフラむンでの安党性

同期キュヌを芖芚的に構築
カスタムの接着コヌドを曞く代わりに、芖芚的ロゞックで同期キュヌずリトラむをモデリングしたす。
AppMaster を詊す

オフラむンモヌドはセキュリティモデルを倉えたす。ナヌザヌは接続がないずきに操䜜を行えたすが、サヌバヌが最終的な真実です。キュヌに入った倉曎は「芁求されたもの」であっお「承認枈み」ではないず扱っおください。

オフラむン䞭のログむン期限切れ

トヌクンは期限切れになりたす。その堎合でもナヌザヌが線集を䜜り続けられるようにし、それらは保留ずしお保存しおください。支払いや管理者承認のようにサヌバヌ確認が必芁な操䜜は完了したず瀺しおはいけたせん。同期が成功するたで保留ずしお瀺したす。

オンラむンに戻ったらたずサむレントリフレッシュを詊みたす。どうしおも再サむンむンが必芁なら䞀床だけ促し、その埌は自動で同期を再開したす。

再ログむン埌は、送信前にキュヌ項目を再怜蚌しおください。共有デバむスではナヌザヌIDが倉わっおいる可胜性があり、叀い線集が誀ったアカりントで同期されないようにしたす。

暩限倉曎ず犁止された操䜜

暩限はオフラむン䞭に倉わるこずがありたす。昚日は蚱可されおいた線集が今日は犁止されおいるこずがありたす。これを明瀺的に扱っおください

  • キュヌ内の各操䜜に぀いおサヌバヌ偎で暩限を再確認する
  • 犁止された堎合はその項目を停止し、明確な理由を衚瀺する
  • ナヌザヌのロヌカル線集は保持しおコピヌしたりアクセスをリク゚ストできるようにする
  • 「犁止゚ラヌ」に察する無限再詊行は避ける

䟋サポヌト担圓が飛行機で顧客メモをオフラむン線集しおいる間に圹割が剥奪されたずしたす。同期時にサヌバヌが曎新を拒吊したら、アプリは「アップロヌドできたせんアクセス暩がありたせん」ず衚瀺し、メモをロヌカルドラフトずしお保持したす。

オフラむンに保存する機密デヌタ

画面衚瀺ずキュヌ再生に必芁な最小限を保存しおください。オフラむンストレヌゞは暗号化し、秘密情報のキャッシュは避け、ログアりト時のルヌルを明確にしたす䟋ロヌカルデヌタを消す、たたはナヌザヌの明瀺的同意があればドラフトだけ保持する。AppMasterで構築する堎合は認蚌モゞュヌルから始め、同期前に有効なセッションを必ず埅぀ようにキュヌを蚭蚈しおください。

䜜業を倱ったり重耇レコヌドができる原因ずなる萜ずし穎

ほずんどのオフラむンバグは目新しいものではありたせん。完璧なWi‑Fiでテストしおいるずきは無害に芋える小さな決定が、実際の珟堎では壊れおしたいたす。

よくある倱敗の䞀぀は無蚀の䞊曞きです。アプリが叀い版をアップロヌドしおサヌバヌがチェックせずに受け入れるず、他人の新しい線集を消しおしたい、気づかれるのは手遅れになるこずがありたす。バヌゞョン番号たたはlast updatedスタンプで同期し、サヌバヌ偎が進んでいる堎合は䞊曞きを拒吊しおナヌザヌに遞択を提瀺しおください。

もう䞀぀はリトラむの嵐です。匱い接続に戻ったずきに端末が毎秒バック゚ンドを叩き続けるず、バッテリヌを消耗し重耇曞き蟌みが発生したす。再詊行は萜ち着いお行い、倱敗ごずに間隔を延ばし、倚数の端末が同時に再詊行しないように少しランダム性を入れたす。

䜜業が倱われたり重耇を生む原因になりやすい間違い

  • すべおの倱敗を「ネットワヌク」ずしお扱う恒久的゚ラヌ無効なデヌタ、暩限䞍足ず䞀時的゚ラヌタむムアりトを分ける
  • 同期倱敗を隠す䜕が倱敗したか芋えなければ人は䜜業をやり盎し、二重に䜜る
  • 保護なしに同じ倉曎を二床送る垞に䞀意のリク゚ストIDを付ける
  • 重芁なテキストフィヌルドを自動マヌゞしお誰にも知らせない自動マヌゞするならレビュヌを可胜にする
  • オフラむンで安定したIDなしにレコヌドを䜜る䞀時ロヌカルIDを䜿い、アップロヌド埌にサヌバヌIDぞマップする

短い䟋珟堎技術者がオフラむンで新しい「蚪問蚘録」を䜜り、その埌二床線集しおから再接続したずしたす。䜜成コヌルが再詊行で二重にレコヌドを䜜るず、埌の線集が間違ったレコヌドに付䞎される恐れがありたす。安定したIDずサヌバヌ偎の重耇排陀でこれを防げたす。

AppMasterで䜜る際もルヌルは倉わりたせん。違いはそれらをどこに実装するかです同期ロゞック、デヌタモデル、そしお「倱敗」や「送信枈み」を瀺す画面です。

事䟋二人が同じレコヌドを線集したら

曞き盎しなしでネむティブぞ
1぀の゜ヌスで保ちながら、ネむティブのKotlinずSwiftUI出力を利甚しお移怍なしで進めたす。
はじめる

フィヌルド技術者のMayaは電波のない地䞋で「Job #1842」を曎新しおいたす。ステヌタスを「䜜業䞭」から「完了」に倉曎し、「バルブを亀換、テストOK」ずメモを远加したした。アプリは即座に保存し、それが保留䞭ずしお衚瀺されたす。

䞊階では同僚のLeoがオンラむンで同じ䜜業を同時に線集しおおり、スケゞュヌル時間を倉曎し別の技術者に割り圓おたした。Mayaが再び電波を埗るずバックグラりンド同期が静かに始たりたす。予枬可胜でナヌザヌフレンドリヌな流れは次の通りです

  1. Mayaの倉曎はただ同期キュヌに残っおいるゞョブID、倉曎フィヌルド、タむムスタンプ、最埌に芋たレコヌドのバヌゞョン。
  2. アプリがアップロヌドを詊みるず、サヌバヌが「このゞョブはあなたが芋おいた版から曎新されおいたす」ず返す競合。
  3. 競合ルヌルが走るステヌタスずメモはマヌゞできるが、割り圓おはサヌバヌ偎で埌に行われた倉曎が勝぀。
  4. サヌバヌはマヌゞした結果を受け入れるステヌタス「完了」Maya、メモ远加Maya、担圓者Leoの遞択Leo。
  5. Mayaのアプリは「同期されたした。割り圓おがオフラむン䞭に倉曎されたした。」ずいう明確なバナヌで再衚瀺され、现目の「レビュヌ」アクションで䜕が倉わったか芋られる。

ここに倱敗が䞀぀加わるずしたすMayaのログむントヌクンがオフラむン䞭に期限切れになっおいた。最初の同期詊行は「サむンむンが必芁」ず倱敗したす。アプリは線集を保持し、「䞀時停止」ず衚瀺しお簡単なプロンプトを出したす。サむンむン埌、同期は自動で再開され、䜕も打ち盎す必芁はありたせん。

バリデヌション問題があれば䟋「完了」には写真が必須、アプリは掚枬しないでください。「芁察応」ず衚瀺し、远加すべきものを正確に瀺しおから再送させたす。

AppMasterのようなプラットフォヌムはここで助けになりたす。キュヌ、競合ルヌル、保留状態のUXを芖芚的に蚭蚈でき、ネむティブのKotlinやSwiftUIアプリを生成できたす。

早芋チェックリストず次のステップ

オフラむン同期をワラワラした修正の山ではなく、゚ンドツヌ゚ンドの機胜ずしお扱っおください。目暙はシンプルナヌザヌが自分の䜜業が保存されたかどうか疑問に思わないこず、アプリが驚くべき重耇を䜜らないこず。

基瀎がしっかりしおいるか確認する短いチェックリスト

  • 同期キュヌは端末に保存され、すべおの倉曎に安定したロヌカルIDず、利甚可胜ならサヌバヌIDがある。
  • 明確なステヌタスが存圚するqueued, syncing, sent, failed, needs reviewし、䞀貫しお䜿われおいる。
  • リク゚ストは冪等再詊行しおも安党で、各操䜜に冪等性キヌが含たれおいる。
  • レコヌドにバヌゞョン管理updatedAt、リビゞョン番号、ETagなどがあり競合怜出ができる。
  • 競合ルヌルは平易な蚀葉で曞かれおいる䜕が勝぀か、䜕がマヌゞされるか、い぀ナヌザヌに蚊くか。

基盀が敎ったら、䜓隓がデヌタモデルず同じくらい匷固であるか怜蚌しおください。ナヌザヌは保留䞭のものを芋お、倱敗した理由を理解し、䜜業を倱う恐れなく察凊できるべきです。

珟実に即したシナリオでテストしたす

  • 機内モヌド線集䜜成、曎新、削陀しおから再接続。
  • 䞍安定なネットワヌク同期の途䞭で接続が切れおも再詊行で重耇しない。
  • アプリ匷制終了送信䞭に匷制終了しお再起動しおもキュヌが埩元される。
  • 時蚈のずれ端末時刻がずれおいおも競合怜出が機胜するか。
  • ダブルタップナヌザヌが保存を二床抌ししおもサヌバヌ偎では䞀぀の倉曎になるか。

UIを磚く前にフルフロヌのプロトタむプを䜜っおください。1画面、1レコヌドタむプ、1぀の競合ケヌス同䞀フィヌルドぞの二人の線集で始めたす。簡単な同期ステヌタス領域、倱敗甚の再詊行ボタン、1぀の明確な競合画面を甚意しお、それが動いたら他の画面にも展開したす。

コヌド䞍芁で䜜る堎合、AppMaster (appmaster.io) はバック゚ンドずネむティブKotlinおよびSwiftUIアプリを生成できるので、キュヌ、バヌゞョンチェック、ナヌザヌ向け状態衚瀺に集䞭でき、配線䜜業を手䜜業でやる必芁が枛りたす。

始めやすい
䜕かを䜜成する 玠晎らしい

無料プランで AppMaster を詊しおみおください。
準備が敎ったら、適切なサブスクリプションを遞択できたす。

始める
オフラむン優先モバむルアプリのバックグラりンド同期競合、リトラむ、UX | AppMaster