المزامنة دون اتصال

المزامنة دون اتصال هي الطريقة التي يواصل بها التطبيق العمل بلا شبكة، إذ يحفظ العمل على الهاتف ثم يرسله فور عودة الاتصال.

يُعرف أيضًا بـ العمل دون إنترنت المزامنة في الخلفية المزامنة اللاحقة

التعريف

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

ولهذا يستطيع سائق التوصيل في جراج تحت الأرض أن يسجل تسليم الطرد. ومندوب المبيعات في قرية يكتب الطلب بالطريقة نفسها، والممرضة في قسم بجدران سميكة تسجل القراءة، لأن التطبيق لا يحتاج أن يستأذن الشبكة أولًا. ولا ينتظر أحد منهم، والموظفون يلاحظون هذا الفرق من اليوم الأول.

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

وهناك أشياء يجب ألا يُوثق بها دون اتصال أبدًا، وأهمها كل ما هو نادر وكل ما يخص المال. فلا تَعِد بآخر مقعد أو آخر غرفة أو آخر قطعة في المخزون من هاتف انقطع عن الشبكة منذ ساعة. وللسبب نفسه لا يُحسم سعر أو خصم أو رصيد مخزون على الجهاز، ولا تُعتبر الدفعة محصّلة حتى يقول خادمك ذلك. فالهاتف يحمل الطلب فقط، لأن الخادم هو الذي يقرر. واسأل أي مورّد كيف يعالج حجزًا مزدوجًا صنعه هاتفان دون اتصال، وأنصت جيدًا للإجابة.

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

أسئلة حول المزامنة دون اتصال

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

ما زلت غير متأكد كيف ينطبق هذا على مشروعك؟

أخبرنا بما تبنيه وسنجيبك بلغة واضحة.