การปรับปรุงการตรวจหาการรองรับออฟไลน์ของ 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 ดังนั้นการตรวจสอบทั้งหมด ไม่สามารถทำงานแบบออฟไลน์ที่ถูกต้องได้

แผนภาพของโปรแกรมทำงานของบริการ

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

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

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

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

ผลกระทบต่อนักพัฒนาแอป

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

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

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