אפליקציות מובייל · מעורב

עבודה בלי רשת: אפליקציה שלא נשברת במעלית

בשורה אחת: תכננו את האפליקציה סביב ההנחה שאין רשת, ותקבלו בחינם גם אפליקציה שמרגישה מהירה כשיש.

הנחת היסוד

רשת סלולרית אינה מתג של דלוק וכבוי אלא ספקטרום: איטית, מקוטעת, מחוברת אך ללא תעבורה. אפליקציה שמניחה חיבור תקין מציגה גלגל טעינה אינסופי בדיוק ברגע שהמשתמש צריך אותה.

הגישה הנכונה: המכשיר מחזיק מקור אמת מקומי, והרשת היא תהליך סנכרון ברקע.

שלושה מנגנונים

מטמון קריאה. מה שנטען פעם מוצג שוב מיד, עם סימון עדינות של "מתעדכן".

תור כתיבה. פעולות שהמשתמש ביצע נשמרות מקומית ונשלחות כשיש חיבור. הממשק מציג את התוצאה מיד.

פתרון קונפליקטים. מה קורה כששני מכשירים שינו את אותו פריט. החליטו מראש: אחרון קובע, מיזוג לפי שדות, או שאלה למשתמש.

מה המשתמש צריך לראות

מצב הסנכרון בצורה שקטה אך ברורה, ומה עדיין לא נשלח. הסתרה מוחלטת של המצב מייצרת חוסר אמון ברגע שמשהו נעלם.

לעומק

שמרו לכל רשומה חותמת גרסה או זמן עדכון מהשרת, ושלחו אותה בחזרה בכתיבה כדי לזהות התנגשות. בלי זה, שני עדכונים במקביל דורסים זה את זה בשקט — הסוג הגרוע ביותר של אובדן נתונים, כי איש לא מקבל שגיאה.