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

Penny McLachlan
Penny McLachlan

אפליקציות מסוג Progressive Web App ‏ (PWA) הן דפוס ליצירת אפליקציות מודרניות שניתנות להתקנה באמצעות טכנולוגיית אינטרנט למכשירים ניידים ולמחשבים.

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

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

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

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

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

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

כלומר, ל-Chrome לא הייתה אפשרות לאמת אם fetch ה-event handler החזיר משאב תקין עם HTTP 200 במהלך הבדיקה במצב אופליין. דפדפן Chrome בדק רק אם לקובץ ה-service worker יש למעשה handler של fetch.

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

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

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

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

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

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

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