ماذا يعني "يدعم التحديث التلقائي"
معظم مستخدمي iPhone يعرفون تلقائيًا أن السحب للأسفل على الشاشة يقوم بتحديث المحتوى في العديد من التطبيقات — وهذا هو الإيماءة الكلاسيكية للتحديث بالسحب، وهذا ما نعنيه بـ "يدعم التحديث التلقائي". الإصدارات السابقة من Splync لم تكن تدعم هذه الميزة. الطريقة الوحيدة لتحديث الشاشة كانت إغلاق التطبيق وإعادة فتحه. لم يكن هذا مزعجًا للغاية، لأن التطبيق يبقيك مسجل الدخول منذ إصدار Splync v1.3، لكنه لم يكن مثاليًا. لأن Splync يهدف ليكون أبسط تطبيق لتتبع الميزانية المشتركة، يجب أن يكون تحديث الشاشة سهلًا تمامًا. لهذا السبب قدمنا ميزة التحديث بالسحب في الإصدار v1.10، مما جعل Splync يدعم التحديث التلقائي بالكامل.
طريقتان لتحديث بياناتك في Splync (إعادة تحميل كاملة / تحديث العرض)
في الشاشة الرئيسية — حيث ترى صورة ملفك الشخصي وقائمة الأصدقاء وقائمة المشاريع — يؤدي السحب للتحديث إلى إعادة تحميل كاملة. يستعيد جميع البيانات المتعلقة بالحساب مرة أخرى، بشكل مشابه لتسجيل الخروج وتسجيل الدخول مرة أخرى. بسبب ذلك، قد يستغرق التحديث حوالي ثانية واحدة بينما يتم عرض رسالة التحميل. في شاشة المشروع، حيث تظهر قائمة المصاريف، تفعيل نفس الإيماءة يؤدي إلى تحديث عرض أخف. يتم تحديث البيانات الخاصة بالمشروع فقط، مثل تغييرات الفئات وتحديثات النفقات. لا حاجة للانتظار ثانية كاملة فقط لترى ما إذا أضاف شخص ما نفقة جديدة. أيضًا، لاحظ أن Splync لا يجلب بيانات المشروع من الخادم تلقائيًا في الخلفية. يتحقق التطبيق من التحديثات فقط عند إجراء تغييرات، عند فتح نفقة لعرض تفاصيلها، أو عند تحديث صفحة المشروع يدويًا.
لماذا لا يتم التزامن في الوقت الفعلي
قد يتوقع بعض المستخدمين ظهور تحديثات المشروع على الفور عندما يضيف صديق نفقة جديدة. يبدو التزامن في الوقت الفعلي مريحًا، لكنه يأتي بتنازلات هامة. تتطلب التحديثات المستمرة في الخلفية مزيدًا من البطارية والبيانات المتنقلة، واتصال خادم أكثر تعقيدًا يمكن أن يبطئ التطبيق للجميع. نهج Splync القائم على الطلب يحافظ على تجربة خفيفة وسريعة الاستجابة، ويمنع الشاشة من التغيير المفاجئ أثناء مراجعة ميزانيتك. هناك أيضًا اعتبارات أمنية. المحافظة على اتصال دائم بالخادم يزيد من نافذة التعرض للوصول غير المصرح به ويتطلب منطق مصادقة إضافي يعمل في الخلفية. من خلال التحديث فقط عندما تتخذ إجراءً، يقلل Splync من النشاط الشبكي غير الضروري ويحافظ على الوصول للبيانات بمزيد من التوقع والتحكم.
خلف كود .refreshable
في البداية، اعتقدت أن هذا التحديث سيكون بسيطًا. في Swift، اللغة المستخدمة لتطوير iOS، يمكنك تمكين السحب للتحديث فقط عن طريق إرفاق المعدل .refreshable على عرض التمرير أو القائمة. ومع ذلك، لم يعمل كما توقعت. بعد التحقيق في المشكلة، أدركت السبب الجذري. أردت إضافة السحب للتحديث للشاشة العلوية بأكملها، والتي تحتوي على قائمة الأصدقاء وقائمة المشاريع. لكن في التصميم الأصلي، كان كلا العنصرين قابلين للتمرير أيضًا. كنتيجة لذلك، لم يعرف .refreshable إلى أي منطقة تمرير ينتمي، ولم يتم اكتشاف الإيماءة باستمرار. لإصلاح ذلك، قمت بإعادة هيكلة قائمة الأصدقاء وقائمة المشاريع بحيث لم تعد قابلة للتمرير بمفردها. هذا آمن لأن العرض العلوي نفسه يتم تمريره عندما يتجاوز المحتوى ارتفاع الشاشة. بمجرد أن قمت بتبسيط الهيكل وتأكدت من وجود حاوية تمرير واحدة فقط، تصرف .refreshable أخيرًا كما هو مقصود. كما أضفت زر تحديث نموذجي حتى يتمكن المستخدمون من النقر للتحديث.
السحب لا يعمل لديك؟ اسحب قليلاً أكثر
في معظم تطبيقات iOS، لا يتم تفعيل السحب للتحديث عند بدء السحب مباشرةً. SwiftUI لديها عتبة إيماءة مدمجة: ينتظر النظام حتى تسحب إلى مسافة معينة قبل تفعيل التحديث. هذا يمنع التحديثات العرضية عندما تبدأ في التمرير من أعلى الشاشة. يتبع Splync هذا السلوك القياسي. قد تلاحظ أن السحب القصير لا يحدث تحديثًا للمحتوى، ولكن السحب الأطول قليلاً — بما يكفي لظهور مؤشر التحديث — سيقوم بتفعيل التحديث. هذا التصميم يحافظ على التفاعلات متعمدة. هو يتجنب التحديثات غير المرغوب فيها، خاصة على الشاشات التي يتنقل المستخدمون عبرها بشكل متكرر في قوائم المصاريف أو المشاريع الطويلة. بمجرد أن تسحب قليلاً فوق الحدود العلوية ويظهر المؤشر، سيبدأ التحديث بمجرد إفلات إصبعك. هو تفصيل صغير، لكنه يساهم في تجربة أكثر سلاسة وتوقعًا. للتوضيح: الأمر لا يتعلق بالسحب لفترة أطول أو تطبيق ضغط أقوى. ما يهم هو سحب مسافة أطول.
ميزة صغيرة مصممة بعناية
قد يبدو السحب للتحديث كتفاعل صغير، لكن بناؤه تطلب اختيارات تصميمية، وإعادة هيكلة تقنية، وعدد مفاجئ من الاعتبارات خلف الكواليس. يجعل Splync v1.10 تحديث بياناتك طبيعيًا، ومتعمداً، ويمكن التنبؤ به — تمامًا كما ينبغي أن يكون في أبسط تطبيق للميزانية المشتركة. آمل أن يمنحك هذا التحديث تجربة أكثر سلاسة ونظرة على العناية التي تدخل في كل تفصيل. شكرًا لاستخدامك Splync.