بهبود تشخیص پشتیبانی آفلاین برنامه وب پیشرو

پنی مک لاکلان
Penny McLachlan

برنامه های وب پیشرو (PWA) الگویی برای ساخت برنامه های مدرن و قابل نصب با استفاده از فناوری وب برای دستگاه های تلفن همراه و دسکتاپ هستند.

یکی از معیارهای ایجاد یک تجربه وب مدرن، و نه تصادفی PWA، این است که برنامه باید به کار خود ادامه دهد حتی اگر دستگاه آفلاین باشد. این بدان معناست که اگر کاربر دسترسی به شبکه را در دستگاه خود از دست بدهد، صفحه Chrome Dino وجود ندارد!

هدف همه معیارهای PWA کمک به اطمینان از داشتن تجربه ای با کیفیت بالا و رقابتی با برنامه در هنگام مرور وب است. Chrome قبل از فعال کردن قابلیت نصب برای PWA، بررسی هایی را بر اساس معیارهای PWA انجام می دهد.

فقط برنامه‌هایی را می‌توان از Chrome در دستگاه نصب کرد که تمام معیارهای اصلی نصب برنامه وب پیشرفته ، از جمله پشتیبانی از حالت آفلاین را رعایت کنند.

منطق تشخیص آفلاین قبلی

تأیید پشتیبانی آفلاین برای چندین سال بخشی از معیارهای نصب PWA بوده است. تا همین اواخر، کروم توانایی شبیه‌سازی درخواست‌ها از طریق سرویس‌کار را نداشت، بنابراین بررسی کامل رفتار آفلاین صحیح امکان‌پذیر نبود.

نمودار کارگر خدماتی

این بدان معناست که Chrome توانایی تأیید اینکه آیا کنترل‌کننده رویداد fetch منبع معتبری را با HTTP 200 در حین بررسی آفلاین برمی‌گرداند، ندارد. Chrome فقط بررسی کرد که آیا کارمند خدمات واقعاً fetch دارد یا خیر.

منطق تشخیص آفلاین به روز شد

Chrome 89 توانایی اجرای درخواست‌های آفلاین شبیه‌سازی‌شده را از طریق سرویس‌کار اضافه کرد، که به بهبود منطق تشخیص آفلاین اجازه می‌دهد تا پشتیبانی آفلاین واقعی برنامه را بهتر منعکس کند.

ما برنامه ریزی کرده بودیم که از این توانایی جدید برای اطمینان از اینکه PWA ها صفحه معتبری را در حالت آفلاین ارائه می دهند استفاده کنیم، اما این برنامه ها را متوقف کرده ایم. بررسی نصب‌پذیری در صورتی ادامه می‌یابد که صفحه دارای یک سرویس‌دهنده باشد که شامل یک کنترل‌کننده رویداد fetch باشد.

این برای توسعه دهندگان چه معنایی دارد؟

در حالی که در حال حاضر هیچ تغییری لازم نیست ، اکیداً توصیه می‌کنیم یک تجربه آفلاین ارائه دهید، زیرا انتظار داریم از منطق به‌روزشده برای بررسی صفحه معتبر در آینده استفاده کنیم.

این شما هستید که تصمیم می گیرید چه نوع تجربه آفلاینی را می خواهید ارائه دهید. در یک طرف طیف یک تجربه آفلاین کاملاً کاربردی است. این به این معنی است که تمام منابع و داده های مورد نیاز را از قبل ذخیره کنید و زمانی که کاربر دوباره آنلاین است، داده ها را با سرور خود همگام سازی کنید. ذخیره منابع همچنین به بهبود معیارهای حیاتی وب اصلی کمک می کند زیرا نیاز به دانلود هر بار منابع از شبکه را برطرف می کند. در انتهای دیگر طیف یک صفحه بازگشتی آفلاین سفارشی قرار دارد.

هشداری که در زیر برگه مشکلات ابزارهای برنامه‌نویس نشان داده می‌شود، در Chrome 90 حذف خواهد شد.