Progressive Web App (PWA) คือรูปแบบการสร้างแอปพลิเคชันที่ทันสมัยและติดตั้งได้โดยใช้เทคโนโลยีเว็บสำหรับอุปกรณ์เคลื่อนที่และเดสก์ท็อป
เกณฑ์ข้อหนึ่งในการสร้างประสบการณ์การใช้งานเว็บที่ทันสมัย ซึ่งไม่ได้เกี่ยวข้องกับ PWA โดยตรงคือแอปต้องทํางานต่อไปได้แม้ว่าอุปกรณ์จะออฟไลน์อยู่ ซึ่งหมายความว่าจะไม่มีหน้าจอไดโนเสาร์ของ Chrome หากผู้ใช้เสียสิทธิ์เข้าถึงเครือข่ายในอุปกรณ์
เป้าหมายของเกณฑ์ PWA ทั้งหมดคือการช่วยให้ผู้ใช้ได้รับประสบการณ์การใช้งานที่มีคุณภาพสูงเทียบเท่าแอปเมื่อท่องเว็บ Chrome จะตรวจสอบตามเกณฑ์ PWA ก่อนเปิดใช้ความสามารถในการติดตั้ง PWA
เฉพาะแอปที่เป็นไปตามเกณฑ์ความสามารถในการติดตั้ง Progressive Web App หลักทั้งหมด รวมถึงรองรับโหมดออฟไลน์เท่านั้นที่จะติดตั้งลงในอุปกรณ์จาก Chrome ได้
ตรรกะการตรวจจับแบบออฟไลน์ก่อนหน้านี้
การยืนยันการรองรับการทำงานแบบออฟไลน์เป็นส่วนหนึ่งของเกณฑ์ความสามารถในการติดตั้ง PWA มาหลายปีแล้ว เมื่อไม่นานมานี้ Chrome ไม่สามารถจำลองคำขอผ่าน Service Worker ได้ จึงไม่สามารถตรวจสอบลักษณะการทำงานแบบออฟไลน์ที่ถูกต้องได้อย่างเต็มที่
ซึ่งหมายความว่า Chrome ไม่สามารถตรวจสอบว่า fetch
event handler ส่งคืนทรัพยากรที่ถูกต้องด้วย HTTP 200 หรือไม่ในระหว่างการตรวจสอบแบบออฟไลน์
Chrome จะตรวจสอบว่า Service Worker มีตัวแฮนเดิล fetch
จริงหรือไม่เท่านั้น
อัปเดตตรรกะการตรวจจับแบบออฟไลน์
Chrome 89 เพิ่มความสามารถในการเรียกใช้คําขอแบบจําลองออฟไลน์ผ่าน Service Worker ซึ่งช่วยให้ตรรกะการตรวจหาแบบออฟไลน์ที่ปรับปรุงแล้วแสดงถึงการสนับสนุนแบบออฟไลน์จริงของแอปพลิเคชันได้ดียิ่งขึ้น
ก่อนหน้านี้เราวางแผนที่จะใช้ความสามารถใหม่นี้เพื่อให้มั่นใจว่า PWA จะแสดงหน้าเว็บที่ถูกต้องเมื่อออฟไลน์ แต่ได้ระงับแผนดังกล่าวไว้ชั่วคราว การตรวจสอบความสามารถในการติดตั้งจะยังคงผ่านต่อไปหากหน้าเว็บมี Service Worker ที่มี fetch
event handler
การเปลี่ยนแปลงนี้ส่งผลต่อนักพัฒนาแอปอย่างไร
แม้ว่าตอนนี้จะยังไม่ต้องทำการเปลี่ยนแปลงใดๆ แต่เราขอแนะนําอย่างยิ่งให้คุณระบุประสบการณ์การใช้งานแบบออฟไลน์ เนื่องจากเราคาดว่าจะใช้ตรรกะที่ได้รับการอัปเดตเพื่อตรวจสอบหน้าเว็บที่ถูกต้องในอนาคต
คุณเป็นผู้เลือกประสบการณ์การใช้งานแบบออฟไลน์ที่ต้องการมอบให้ ประสบการณ์การใช้งานแบบออฟไลน์ที่สมบูรณ์แบบคืออีกด้านหนึ่งของสเปกตรัม ซึ่งหมายความว่าระบบจะแคชทรัพยากรและข้อมูลทั้งหมดที่จำเป็นไว้ล่วงหน้า และซิงค์ข้อมูลกับเซิร์ฟเวอร์เมื่อผู้ใช้ออนไลน์อีกครั้ง การแคชทรัพยากรยังช่วยปรับปรุงเมตริก Core Web Vitals ด้วย เนื่องจากจะช่วยลดความจำเป็นในการดาวน์โหลดทรัพยากรจากเครือข่ายทุกครั้ง อีกฝั่งหนึ่งคือหน้าสำรองแบบออฟไลน์ที่กำหนดเอง
เราจะนำคำเตือนที่แสดงในแท็บปัญหาของเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ออกใน Chrome เวอร์ชัน 90