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

Penny McLachlan
Penny McLachlan

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

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

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

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

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

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

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

כלומר, ל-Chrome לא הייתה יכולת לאמת אם fetch הגורם המטפל באירועים החזיר משאב חוקי עם HTTP 200 במהלך בדיקת האופליין. Chrome רק בדק אם ל-Service Worker יש handler של fetch.

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

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

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

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

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

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

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