Progressive Web App

Progressive Web App และแอพ Ionic จะได้รับผลกระทบจากการเปลี่ยนแปลงของ Apple Safari หรือไม่?

เรื่องที่เกี่ยวข้อง - Ionic Framework, Progressive Web App, Safari

วันนี้พลกลับมาอัพเดตสภาพแวดล้อมของ Progressive Web App (ย่อว่า PWA) กันเช่นเคย เพราะหลังจากแนะนำวิธีการสร้าง Progressive Web App ด้วย Ionic Framework ผ่านคลิปวิดีโอบน Youtube ก็มีพวกเราเข้ามาพูดคุยมากมาย ถือว่ามีการตื่นตัวในการทำ PWA กันเยอะทีเดียว

และวันนี้พลไปเจอการเปลี่ยนแปลงของฝั่ง Apple ในส่วนโปรแกรมท่องเว็บ Safari ที่น่าสนใจ และดูน่าจะสร้างความสงสัยให้พวกเราที่ใช้ Ionic Framework ไม่มากก็น้อย ทำความเข้าใจกันครับ

การเปลี่ยนแปลงของ Apple Safari: 7 วัน ไม่เข้าซ้ำ = ลบ

จริงๆ การเปลี่ยนแปลงที่ชัดเจนจากทางฝั่ง Apple คือการต่อต้านการ tracking การท่องเว็บของลูกค้าบน Web brower ที่ชื่อ Safari ของตัวเอง โดยเรียกมันว่า Intelligent Tracking Prevention

ซึ่งเป็นการเคลื่อนไหวที่ค่อนข้างน่าพอใจ แต่ในแง่การทำงานล่าสุด Apple ได้โพสลงใน blog ของ Webkit ว่า

Now ITP has aligned the remaining script-writable storage forms with the existing client-side cookie restriction, deleting all of a website’s script-writable storage after seven days of Safari use without user interaction on the site. These are the script-writable storage forms affected (excluding some legacy website data types):

Indexed DB
LocalStorage
Media keys
SessionStorage
Service Worker registrations

ซึ่งการเปลี่ยนแปลงนี้เอง ที่สามารถตีความได้ว่า

Safari จะทำการลบข้อมูลที่เกิดจากการรันโค้ด (ในที่นี้ก็น่าจะหมายถึงบรรดา Script ต่างๆ)​ หลังจาก 7 วัน?!

การทำงานจะเป็นแบบนี้

  1. วันแรกเราเข้าเว็บ A ผ่าน Safari เว็บ A มี service worker เว็บ A มีการเขียนข้อมูลลง Storage ถ้าวันรุ่งขึ้นเราเข้าเว็บ A ตรงนี้ก็จะไม่มีการนับวันเพิ่ม
  2. แต่วันถัดมาเราเข้าเว็บ B ผ่าน Safari และทั้งวันนั้นเราไม่เข้า เว็บ A อีกเลย ตรงนี้จะเริ่มนับเป็นวันที่ 1
  3. วันต่อมาเราเข้าเว็บ C ผ่าน Safari และไม่ได้เข้าเว็บ A อีกเลย ตรงนี้นับเป็นวันที่ 2
  4. ผ่านไป 7 วัน เรายังไม่ได้ใช้ Safari เข้าเว็บ A อีก ตรงนี้ข้อมูลจะถูกลบ

น่ากลัวใช่ไหมล่ะ? คำถามของพวกเราคือ แล้วแบบนี้ PWA จะเก็บข้อมูลได้ยังไง? มาดูกันว่าได้ หรือไม่ได้

Progressive Web App แบบทั่วไป จะได้รับผลกระทบหรือไม่?

Progressive Web App ถูกเรียกอีกชื่อว่า Home Screen App ซึ่งในทางเทคนิคแล้ว กฎ 7 วันส่งผลต่อ Home Screen App เหล่านี้ด้วย

แต่เนื่องจากเว็บแอพพลิเคชั่นที่ถูกบันทึกไว้บนหน้า Home Screen จะถูกเปิดเพียงแค่ domain เดียวเท่านั้น ไม่มีการเปิดไปที่ domain ของเว็บอื่นๆ

ทำให้ Home Screen App นี้ถูกละเว้นผลที่เกิดจาก 7 วันลบทิ้งครับ

ทั้งหมดนี้ หมายถึงเว็บแอพพลิเคชั่นที่สร้างขึ้นเป็น Progressive Web App ด้วยวิธีต่างๆ ไม่ว่าจะเป็น Flutter, React, Vue, หรือแม้แต่ JQuery รวมทั้ง Ionic Framework ด้วย

Progressive Web App ที่สร้างจาก Ionic ได้รับผลกระทบหรือไม่?

ตัว Progressive Web App ที่สร้างจาก Ionic Framework ก็นับเป็นหนึ่งในกลุ่ม Home Screen App เช่นเดียวกัน

ทำให้แอพ PWA ที่สร้างด้วย Ionic Framework ไม่ได้รับผลกระทบการกลไกใหม่ของ Safari ในการลบข้อมูลออกจาก Storage หลัง 7 วันดังกล่าวด้วย

แอพ iOS ที่สร้างจาก Ionic ได้รับผลกระทบหรือไม่?

เนื่องจากการทำสอบของทีมงาน Ionic ทำให้เราได้ทราบรายละเอียดของกลไกนี้ชัดเจนมากขึ้นว่า

กฎ 7 วันไม่เข้า ลบทิ้งนี้ จะมีผลกับเว็บแอพที่เปิดผ่านแอพ Safari เท่านั้น

ดังนั้น เนื่องจากตัว Runtime ของ Ionic Framework ทั้ง Capacitor และ Cordova เปลี่ยนมาใช้ WKWebView แล้ว ทำให้กลไกของ Safari ไม่สามารถมีผลกับการทำงานของแอพ iOS ที่สร้างจาก Ionic Framework ได้ครับ

ติดตามการเคลื่อนไหวของเรื่องนี้ พร้อมหลักสูตรน่าสนใจได้ด้านล่าง

เปิดอบรม React Native สำหรับผู้เริ่มต้น

ปูพื้นฐาน React และ React Native เข้าใจง่าย, ใช้ได้จริง, เนื้อหาใช้ในการทำแอพ Enterprise ขององค์กรได้

คอร์สออนไลน์เริ่มต้นสร้าง Mobile App ด้วย Google Flutter

เหมาะผู้เริ่มต้น และนักพัฒนาเว็บ, เข้าใจง่าย, ใช้ได้จริง

สอบถาม หรือติดต่อจัดอบรมโทร 083-071-3373

เปิดอบรมสร้าง Cross Platform Mobile Application ด้วย Ionic Framework

เหมาะสำหรับคนทำเว็บ, เริ่มต้น JavaScript ES6 และ Angular เข้าใจง่าย, ใช้ได้จริง

สอบถาม หรือติดต่อจัดอบรมโทร 083-071-3373

โปรหน้าฝน! เรียนรอบสด รับคอร์สออนไลน์มูลค่ากว่า 5800 บาทฟรี!

อ้างอิง – Apple, Ionic Blog

เริ่มต้นยุค AI ด้วยคอร์สฟรี และพรีเมี่ยม กับพล

หากชอบสิ่งที่พลเล่า เรื่องที่พลสอน สามารถสนับสนุนพลโดยการเข้าเรียนคอร์สออนไลน์ของพลนะคร้าบ

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

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

Privacy Preferences

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

Allow All
Manage Consent Preferences
  • Always Active

Save