Ben bir iOS müşteri ile senkronize bir web uygulaması inşa ilerleme değilim. Ben şu anda senkronizasyon hakkında hakkında gitmek nasıl anlamaya çalışıyorum mücadele ediyorum. Ben iki yönde aşağıdaki ile geldim:
Ben bir öğe listesi ile oldukça basit bir sunucu, web uygulaması var. Bunlar sırası önemli değil eşitleme tarafından değiştirilme tarihini ve gibi sıralanır.
Ben düşünüyorum tek yön senkronizasyonu ile müşteri anlaşma sağlamaktır. Zaten müşteri veri almak, yanı sıra güncelleme olarak üzerinde bazı eylemleri, tek öğeler eklemek veya kaldırmak yapmak sağlayan bir API var. Ben düşündüğünü: 1) Her sync son başarılı senkronizasyon yana değiştirilen tüm öğeler için sunucuyu soran ve sunucu tarafından döndürülen ne dayalı yerel kayıtlarının güncellenmesi, ve 2) oluşturduğunuz / kaldırma / güncelleme istekleri kalıcı bir kuyruk bina istemci ve sunucu tarafından teyit kadar tutmak.
Bu yaklaşım ile risk Ben temelde sorunsuz çalışır umuduyla, diğer tarafa değişiklikleri göndermek için her tarafına soran, ancak bazı noktada bir saptırma riske olmam. Bu muhtemelen olsa da, daha fazla bant genişliği-verimli olacaktır.
Ben düşündüğünü diğer yönü daha geleneksel bir model oldu. Ben müşteri (son değiştirilme senkronizasyon yana ya da bir alt kümesi) sunucuya onun bütün listesi göndermek hangi bir "senkronizasyon" süreç olurdu, sunucu son değiştirilme öğeyi tutarak çatışmaları sabitleme ile (sunucudaki verileri güncelleştirmek, ve tutma) silinen = 1 alanındaki öğeleri silinir ve sunucu istemci daha sonra verileri değiştirmek hangi son başarılı senkronize yana öğeleri güncelleştirilmiş bir listesini () dönecekti.
Düşünceler?