Nxdom Framework

Nusantara eXtreme Development Object Model — dokumentasi resmi

Offline & konflik

Aplikasi yang membaca/menulis data lokal lalu menyinkronkan ke server akan berhadapan dengan jaringan putus-nyambung, duplikasi, dan versi data yang saling bertentangan.

Strategi offline-first

  • Queue tulisan — tandai perubahan sebagai “pending”, kirim saat online; tampilkan status ke pengguna.
  • Stamp waktu / versi — server dan klien menyetujui aturan “menang” (last-write-wins, atau merge field-per-field).
  • Idempotensi — request ulang tidak boleh menggandakan data di server.

NexaDB & Firebase di template

Dokumentasi ringkas Firebase: halaman Firebase. Contoh kode NexaDB, integrasi API, dan Firebase ada di folder exsampel/: NexaDBLiteExample.js, NexaDbExample.js, NexaDBJsonExample.js, NexaDbFirebaseExample.js, serta ApiBackendExample.js untuk pola panggilan backend.

Menangani konflik

  • Deteksi konflik saat sync mengembalikan error atau versi tidak cocok.
  • Berikan opsi: pakai versi server, pakai versi lokal, atau gabungkan manual (untuk data kompleks).
  • Log peristiwa sync untuk debugging di lapangan.
const queue = []; async function saveWithQueue(payload) { try { await api.post("/items", payload); } catch { queue.push({ type: "create", payload, at: Date.now() }); } } async function flushQueue() { while (queue.length) { const job = queue[0]; await api.post("/items", job.payload); queue.shift(); } }