שיפור בזיהוי התמיכה אופליין ב-Progressive Web App

Penny McLachlan
Penny McLachlan

אפליקציות אינטרנט מתקדמות (PWAs) הן תבנית ליצירת אפליקציות מודרניות שניתן להתקין באמצעות טכנולוגיית אינטרנט למכשירים ניידים ולמחשבים.

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

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

אפשר להתקין במכשיר מ-Chrome רק אפליקציות שעומדות בכל הקריטריונים המרכזיים להתקנה של אפליקציות אינטרנט מתקדמות, כולל תמיכה במצב אופליין.

הלוגיקה הקודמת לזיהוי אופליין

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

תרשים של קובץ שירות (service worker)

המשמעות היא של-Chrome לא הייתה אפשרות לאמת אם fetch מנהל האירועים החזיר משאב תקף עם HTTP 200 במהלך הבדיקה אופליין. Chrome בדק רק אם לקובץ השירות היה מטפל fetch בפועל.

לוגיקת זיהוי אופליין מעודכנת

בגרסת Chrome 89 נוספה היכולת להריץ בקשות אופליין מדומיינות דרך ה-service worker, וכך לאפשר ללוגיקת הזיהוי של מצב אופליין לשקף טוב יותר את התמיכה בפועל של האפליקציה במצב אופליין.

תכננו להשתמש ביכולת החדשה הזו כדי לוודא שאפליקציות PWA מספקות דף תקין במצב אופליין, אבל השעינו את התוכניות האלה. בדיקת ההתקנה תמשיך לעבור אם בדף יש קובץ שירות (service worker) שכולל טיפול באירוע fetch.

מה המשמעות של השינוי הזה למפתחים?

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

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

האזהרה שמופיעה בכרטיסייה בעיות בכלים למפתחים תוסר בסביבות גרסה 90 של Chrome.