การปรับปรุงการตรวจหาการรองรับออฟไลน์ของ Progressive Web App

Penny McLachlan
Penny McLachlan

Progressive Web App (PWA) คือรูปแบบการสร้างแอปพลิเคชันที่ทันสมัยและติดตั้งได้โดยใช้เทคโนโลยีเว็บสำหรับอุปกรณ์เคลื่อนที่และเดสก์ท็อป

เกณฑ์ข้อหนึ่งในการสร้างประสบการณ์การใช้งานเว็บที่ทันสมัยและ PWA (ซึ่งไม่ใช่เรื่องบังเอิญ) คือแอปต้องทำงานต่อไปได้แม้ว่าอุปกรณ์จะออฟไลน์อยู่ก็ตาม ซึ่งหมายความว่าจะไม่มีหน้าจอไดโนเสาร์ Chrome หากผู้ใช้สูญเสียการเข้าถึงเครือข่ายในอุปกรณ์

เป้าหมายของเกณฑ์ PWA ทั้งหมดคือการช่วยให้มั่นใจว่าผู้ใช้จะได้รับประสบการณ์ที่มีคุณภาพสูงและเทียบเท่าแอปเมื่อท่องเว็บ Chrome จะตรวจสอบตามเกณฑ์ PWA ก่อนที่จะเปิดใช้ความสามารถในการติดตั้ง สำหรับ PWA

เฉพาะแอปที่ตรงตามหลักเกณฑ์ทั้งหมดของเกณฑ์การติดตั้ง Progressive Web App หลัก รวมถึงรองรับ โหมดออฟไลน์เท่านั้นที่จะติดตั้งลงในอุปกรณ์จาก Chrome ได้

ตรรกะการตรวจจับแบบออฟไลน์ก่อนหน้า

การยืนยันการรองรับแบบออฟไลน์เป็นส่วนหนึ่งของเกณฑ์ความสามารถในการติดตั้ง PWA มาหลายปีแล้ว ก่อนหน้านี้ Chrome ไม่มีความสามารถในการจำลองคำขอผ่าน Service Worker จึงไม่สามารถตรวจสอบลักษณะการทำงานแบบออฟไลน์ที่ถูกต้องได้อย่างเต็มที่

แผนภาพของ Service Worker

ซึ่งหมายความว่า Chrome ไม่สามารถตรวจสอบได้ว่าfetch ตัวแฮนเดิลเหตุการณ์ส่งคืนทรัพยากรที่ถูกต้องพร้อม HTTP 200 ระหว่างการตรวจสอบแบบออฟไลน์หรือไม่ Chrome จะตรวจสอบว่า Service Worker มีแฮนเดิลfetchจริงหรือไม่เท่านั้น

อัปเดตตรรกะการตรวจจับแบบออฟไลน์

Chrome 89 ได้เพิ่มความสามารถในการเรียกใช้คำขอแบบออฟไลน์จำลองผ่าน Service Worker ซึ่งช่วยให้ตรรกะการตรวจหาการทำงานแบบออฟไลน์ที่ได้รับการปรับปรุงสะท้อน การรองรับการทำงานแบบออฟไลน์จริงของแอปพลิเคชันได้ดียิ่งขึ้น

เราวางแผนที่จะใช้ความสามารถใหม่นี้เพื่อให้มั่นใจว่า PWA จะแสดงหน้าเว็บที่ถูกต้องเมื่อออฟไลน์ แต่ได้ระงับแผนดังกล่าวไว้แล้ว การตรวจสอบการติดตั้งจะยังคงผ่านหากหน้าเว็บมี Service Worker ที่มีตัวแฮนเดิลเหตุการณ์ fetch

การเปลี่ยนแปลงนี้ส่งผลอย่างไรต่อนักพัฒนาแอป

แม้ว่าตอนนี้คุณจะไม่ต้องทำการเปลี่ยนแปลงใดๆ แต่เราขอแนะนำอย่างยิ่งให้คุณมอบ ประสบการณ์การใช้งานแบบออฟไลน์ เนื่องจากเราคาดว่าจะใช้ตรรกะที่อัปเดตแล้วเพื่อตรวจสอบหน้าเว็บที่ถูกต้อง ในอนาคต

คุณเป็นผู้เลือกว่าต้องการมอบประสบการณ์การใช้งานแบบออฟไลน์ประเภทใด ประสบการณ์การใช้งานแบบออฟไลน์ที่ใช้งานได้อย่างสมบูรณ์ ซึ่งหมายถึงการ แคชล่วงหน้าสำหรับทรัพยากรและข้อมูลทั้งหมดที่จำเป็น รวมถึงการซิงค์ข้อมูลกับเซิร์ฟเวอร์ เมื่อผู้ใช้ออนไลน์อีกครั้ง การแคชทรัพยากรยังช่วยปรับปรุงเมตริก Core Web Vitals ด้วย เนื่องจากไม่จำเป็นต้องดาวน์โหลดทรัพยากรจากเครือข่ายทุกครั้ง ในอีกด้านหนึ่งคือหน้าสำรองแบบออฟไลน์ที่กำหนดเอง

ระบบจะนำคำเตือนที่แสดงในแท็บปัญหาของเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ออกในช่วง Chrome 90