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

פני מקלכלן
פני מקלכלן

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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