DomiraTechnology & Digital Development استشارة مجانية

العمل دون اتصال: تطبيق لا يتوقف عند ضعف الشبكة

المندوب في مستودع بلا تغطية، والفني في قبو، والسائق في طريق سريع — هؤلاء لا يهمهم أن التطبيق ممتاز حين تكون الشبكة ممتازة. والتصميم الذي يفترض الاتصال دائما يفشل حيث يستعمل فعلا.

فهرس المقالة
  1. المبدأ: المحلي هو المصدر
  2. طابور المزامنة
  3. حل التعارضات
  4. ما لا يعمل دون اتصال
  5. إبلاغ المستخدم
خلاصة سريعة
  • اكتب محليا أولا ثم زامن — لا تنتظر الشبكة لتؤكد للمستخدم.
  • التعارض حتمي، وسياسة حله قرار عمل لا قرار تقني.
  • أظهر حالة المزامنة بوضوح — الغموض أسوأ من الانقطاع.
  • اختبر على شبكة سيئة متقطعة لا على انقطاع كامل نظيف.

المبدأ: المحلي هو المصدر

في التصميم التقليدي يرسل التطبيق التغيير للخادم وينتظر التأكيد ثم يعرض النتيجة. وفي التصميم الذي يعمل دون اتصال يكتب التغيير محليا فورا ويعرض النتيجة، ثم يزامن في الخلفية متى توفرت الشبكة.

والفارق في التجربة كبير: التطبيق يستجيب فورا دائما، ولا يتوقف العمل بانقطاع لحظي.

طابور المزامنة

  1. كل تغيير يسجل في طابور محلي بترتيبه وطابعه الزمني.
  2. المزامنة تحاول إرسال الطابور عند عودة الاتصال بترتيب صحيح.
  3. كل عملية تحمل معرفا فريدا حتى لا تنفذ مرتين إن أعيد الإرسال.
  4. ما يفشل بعد محاولات يعرض للمستخدم بوضوح لا يحذف صامتا.

حل التعارضات

حين يعدل شخصان السجل نفسه في وضع منفصل يقع تعارض. والسياسات الممكنة: الأحدث يفوز، أو الخادم يفوز، أو الدمج على مستوى الحقل، أو عرض الحالتين على المستخدم ليقرر.

والاختيار قرار عمل لا تقني: تعديل ملاحظة نصية قد يقبل الدمج، أما تعديل كمية مخزون فقد يستوجب تدخلا بشريا. وحدد السياسة لكل نوع بيانات صراحة قبل البناء.

ما لا يعمل دون اتصال

  • التحقق من التوفر الفعلي أو الأسعار الحية.
  • الدفع والعمليات المالية التي تتطلب تأكيدا فوريا.
  • أي عملية تعتمد على حالة مشتركة بين مستخدمين في اللحظة نفسها.
  • وهذه تعرض معطلة بوضوح مع سبب مفهوم، لا تفشل بصمت.

إبلاغ المستخدم

المستخدم يحتمل العمل دون اتصال إن عرف حاله. أظهر مؤشرا واضحا: متصل، أو يعمل محليا، أو قيد المزامنة، أو فشلت المزامنة. وأظهر لكل سجل غير مزامن علامة. فالغموض يجعل المستخدم يعيد إدخال البيانات خوفا من ضياعها.

أسئلة شائعة

كم بيانات نخزن على الجهاز؟

ما يحتاجه المستخدم لعمله لا قاعدة البيانات كلها: بياناته هو، والمرجعيات التي يستعملها، وفترة زمنية معقولة. والتخزين الشامل يستنزف الجهاز ويبطئ المزامنة ويوسع أثر أي تسريب.

كيف نؤمن البيانات المخزنة محليا؟

بتشفير التخزين المحلي، وبعدم حفظ ما لا يلزم، وبمسح البيانات عند تسجيل الخروج أو بعد مدة عدم استعمال. والجهاز قد يفقد أو يسرق، والبيانات عليه خارج سيطرتك.

هل يصلح هذا لكل تطبيق؟

لا. التطبيقات التي تعتمد على بيانات حية مشتركة لا معنى للعمل دون اتصال فيها. والقيمة تظهر في تطبيقات الميدان والمستودعات والمبيعات الخارجية وأي سياق تكون فيه التغطية غير مضمونة.

برمجة التطبيقات والمواقع ننفذ ما قرأته عنه هنا — بنطاق مكتوب وتكلفة واضحة قبل أي سطر كود.
تفاصيل الخدمة
كلمات مفتاحية