Progressive Web App ไม่ Support iOS แล้วจะทำยังไง

ช่วงนี้มีคนมาถามผมเยอะมากๆเรื่อยๆว่า “Progressive Web App ใช้บน iOS ไม่ได้แล้วเราต้องทำยังไง” “ผู้บริหารไม่เห็นเลยว่าทำไมต้องทำ ทำไป iOS ก็ใช้ไม่ได้”

ทำความเข้าใจเรื่องนี้กันก่อน

ก่อนอื่นต้องเข้าใจก่อนนะครับว่า PWA ไม่ใช่เทคโนโลยีใหม่ มันคือนิยามการทำ Mobile site อีกแบบเท่านั้นเอง คล้ายๆกับหลายปีก่อนที่เรามีคำว่า HTML5 แบบนั้นเลย เพราะฉะนั้นการเปลี่ยนเว็บเป็น PWA ไม่ใช่การสร้าง Version ใหม่ แต่มันคือการอัพเกรด Mobile site ให้ไปใช้เทคโนโลยีกลุ่มนี้เท่านั้นเอง เรามองง่ายๆว่ามันคือ การทำเว็บใหม่ให้หน้าตาเหมือน App พอครับ ยังไม่ต้องคิดอะไรซับซ้อน ซึ่งเอาเข้าจริงไม่ได้มีการกำหนดตายตัวเลยด้วยซ้ำว่า PWA ต้องมีอะไรหรือไม่มีอะไร

แล้วไอ้ที่เค้าบอกว่าต้อง Add to Home Screen ได้หละ??

เราแค่มีมุมมองคร่าวๆครับว่าถ้า Web จะมาสู้ App ได้มันควรจะ Install ได้ เปิดได้โดยไม่ต้องต่อเน็ต ซึ่งเราก็เลยกำหนดภาพจำง่ายๆว่า ถ้ามันมีทั้งสองอย่างนี้เราจะเรียกว่า PWA นะ ซึ่งมันแค่ข้อตกลงของคนที่ทำงานเท่านั้นเองครับ

แล้ว iOS ไม่ support ไม่ใช่หรอ

โอเคจริงๆไม่ได้หมายความว่า iOS ไม่สามารถเปิด PWA ได้นะครับ แต่มันแค่ไม่ Support Feature บางอย่างที่คนทำ PWA ชอบเอามาใช้เท่านั้นเองครับซึ่งมันคือ สอง Feature นี้ครับ

  • Service worker
    Feature นี้เป็นส่วนที่ทำให้เราสามารถทำ Offline กับ Notification ได้ครับ ซึ่ง Safari และ iOS ยังไม่ Support เพราะว่าไปกระทบกับการทำงาน Background และเค้าคงต้องคุยกันเยอะมากๆ แต่จริงๆแล้วเรายังทำ Offline ด้วยเทคโนโลยีอื่นได้อยู่แล้วโดยไม่ต้องมี Service worker นั่นคือ AppCache ซึ่ง Browser อื่นๆเตรียมถอนการสนับสนุนออกหมดแล้วแต่ว่า Safari และ iOS ยังใช้อยู่ แต่ที่ยังไม่ได้เลยก็คือ Notification เพราะว่า Feature นี้อยู่บน Service worker ทั้งหมดและยังไม่มีอะไรทดแทน รวมถึงยังไม่รู้ว่า ทิศทาง Notification บน iOS จะยอมให้ใช้ผ่าน Service worker มั้ยอีกด้วยเพราะบน Desktop ตัว Safari notification ก็อยู่บน APN ของ Apple เอง ซึ่งก็ต้องลุ้นต่อไป
  • Add to home screen
    โดยพื้นฐาน iOS สามารถ Add to home screen ได้อยู่แล้วครับแค่ไม่ support manifest.json เท่านั้นเอง ซึ่งเราสามารถกำหนดเป็น meta tag ยาวเหยียดแทนได้ แต่สิ่งที่ไม่สามารถทำได้มีแค่ Splash screen ครับ นอกนั้นใช้ได้ปกติ หรือใครไม่อยากวุ่นวาย ให้ใช้ Manup.js ครับ มันจะช่วย generate meta tag จาก manifest.json มาให้เลย

และไม่ใช่ว่า Safari จะไม่มีวันใช้ไม่ได้เลยเพราะตอนนี้ Safari กำลังวางแผนที่จะทำทั้งสองอย่างอยู่ครับ

เค้ากำลังทำกันอยู่

ไม่ต้องกังวลทำไปก่อนเลย

ถ้าอยากทำ Mobile siteใหม่อยู่แล้วก็ทำไปเลยครับเพราะยังไงผลจากการปรับก็น่าจะทำให้เว็บของคุณมีหน้าตาที่ใหม่ขึ้น และอาจจะเร็วขึ้นด้วยถ้าคุณออกแบบดีๆ หรือถ้าใครที่จะทำ Mobile site ใหม่อยู่แล้วก็ใส่ Feature PWA ไปรอไว้ก่อนเลยก็ได้ครับ เผื่ออนาคตไว้เลย อีกอย่างเรายังมี User Android รออยู่ครับ

คนที่ปรับก่อนหน้านี้ User ที่เพิ่มขึ้นคือ iOS

อยากที่บอกครับว่านี่คือการปรับ Mobile site ทำให้ทุก Browser ได้ผลบุญนี้ไปด้วย ซึ่งจากที่ Twitter และ Lacome ได้ทำการปรับเว็บเป็น PWA ไป กลุ่มคนที่ใช้เยอะขึ้นกลับเป็นกลุ่ม iOS มากกว่า Android

ถึงตรงนี้ไม่ต้องกังวลแล้วนะครับว่า จะทำไงกับ User iOS เพราะมันมีทางของมันอยู่และยังไง Add to home screen กับ Service worker ก็มาแน่ๆครับ


Discover more from Thangman22's

Subscribe to get the latest posts sent to your email.

Leave a Reply

Discover more from Thangman22's

Subscribe now to keep reading and get access to the full archive.

Continue reading