PWAs บน iOS 14 Beta: การเปลี่ยนแปลงที่ละเอียดอ่อน
เผยแพร่แล้ว: 2020-09-04สารบัญ
ถึงเวลานั้นอีกครั้งที่เราสำรวจการเปลี่ยนแปลงทั้งหมดใน iOS เวอร์ชันล่าสุด — iOS 14 Beta 6 — และพูดคุยกับคุณว่ามีอะไรเปลี่ยนแปลงบ้าง มีอะไรใหม่เกี่ยวกับสถานะของการนำ PWA ไปใช้บน iOS ตามที่เห็นในบทความ PWA iOS 13 ล่าสุดของเรา มีข่าวดีมากมายที่ควรมีในเวอร์ชันที่แล้ว และดูเหมือนว่า Apple จะเป็นมิตรกับ PWA มากขึ้น แต่พวกเขายังคงก้าวตามการนำ กปภ. ไปปรับใช้ หรือเลิก กปภ. ทั้งหมดเพราะกลัวว่าจะสูญเสียรายได้จากแอป? นั่นคือสิ่งที่เราอยู่ที่นี่เพื่อค้นหา
บันทึกประจำรุ่น
ต่อไปนี้คือการเปลี่ยนแปลงที่สำคัญบางส่วนที่เรา ทราบดีว่า กำลังจะเกิดขึ้นใน Safari ในเวอร์ชันใหม่นี้ (ละเว้นบางส่วนที่ไม่เกี่ยวข้อง):
- รองรับ Safari Web Extensions บน macOS
- รองรับ HTTP/3
- ปรับปรุงอัตราการผ่านการทดสอบแพลตฟอร์มเว็บสำหรับ WebDriver, XHR+Fetch, เจ้าหน้าที่บริการ, CSS และ SVG
- เปิดใช้งานการบล็อกคุกกี้บุคคลที่สามเต็มรูปแบบและ API การเข้าถึงพื้นที่เก็บข้อมูลในโหมดการดูเว็บแบบส่วนตัว
- ลบการสนับสนุนสำหรับ Flash
- เพิ่มตัวรับรองความถูกต้องของแพลตฟอร์ม Web Authentication โดยใช้ Face ID หรือ Touch ID ขึ้นอยู่กับความสามารถที่มีอยู่
เราสามารถบอกได้ว่าคุณกำลังคิดอะไรอยู่ — ไม่ใช่การเปลี่ยนแปลงที่สำคัญใช่ไหม ปรากฎว่า PWA iOS 14 มีอะไรมากกว่าที่เห็น
เจาะลึกเข้าไปอีก
นี่เป็นส่วนเมื่อเราเจาะลึกลงไปในระบบปฏิบัติการและค้นหาสถานะปัจจุบันของ PWA ใน iOS 14 รวมถึงสิ่งที่เปลี่ยนแปลงและ PWA ได้รับการปรับปรุงอย่างไร และเราคาดหวังอะไรได้บ้างเมื่อ iOS 14 เข้าสู่การเปิดตัวที่เสถียรทั่วโลก
สินค้า
สัญญาณแรกของพนักงานบริการ
มีคุณลักษณะใหม่ของ WebKit ในการอัปเดตนี้ซึ่งเรียกว่า App-Bound Domains และเมื่อเปิดใช้งานคุณลักษณะนี้ API พนักงานบริการจะสามารถเปิดใช้งานบนโดเมนที่ถูกผูกไว้ได้ แม้ว่าจะไม่มีเอกสารอย่างเป็นทางการเกี่ยวกับสิ่งที่เราคาดหวังจากพนักงานบริการ และไม่มีการยืนยันว่าคุณลักษณะนี้จะคงอยู่หรือไม่ เราคิดว่ายังคงเป็นข่าวที่น่ายินดีสำหรับผู้ที่ชื่นชอบการประปาส่วนภูมิภาค
โดเมนที่ถูกผูกไว้กับแอป
คุณลักษณะใหม่นี้นำเสนออย่างไรในตารางคือวิธีสำหรับนักพัฒนาในการจำกัดการนำทางในแอพไปยังโดเมนจำนวนหนึ่ง และในทางกลับกัน รับประกันความปลอดภัยมากขึ้นสำหรับผู้ใช้ปลายทาง โดเมน "ผูกกับแอป" เหล่านี้ระบุไว้ในไฟล์ info.plist ภายใต้คีย์ WKAppBoundDomains ดังนี้:
<plist version="1.0">
<dict>
<key>WKAppBoundDomains</key>
<array>
<string>example1.com</string>
<string>example2.org</string>
...
</array>
</dict>เมื่อเปิดใช้งาน App-Bound Domains ตอนนี้เราสามารถลงทะเบียนพนักงานบริการได้แล้ว:

อย่างไรก็ตาม มีเพียงคำอธิบายที่คลุมเครือว่าเหตุใดจึงเปิดใช้งานพนักงานบริการเมื่อเรากำหนดค่าโดเมนที่ถูกผูกไว้กับแอป และเนื่องจากไม่มีทางแก้ไขจุดบกพร่องของอินสแตนซ์ของผู้ปฏิบัติงานบริการ สิ่งทั้งหมดจึงค่อนข้างคลุมเครือ แม้กระทั่งกับนักพัฒนาที่มีประสบการณ์มากกว่า
ลองใช้ Cache Storage — คุณลักษณะที่กำหนดของพนักงานบริการ — ตัวอย่างเช่น ไม่มีที่ไหนที่จะพบได้ภายใต้ที่เก็บข้อมูลใน Safari DevTools และการลงทะเบียนพนักงานบริการ เพื่ออ้างถึงนักพัฒนาที่มีประสบการณ์ซึ่งทำงานหลัก: "ไม่ได้แชร์กับ Safari, เว็บแอปบนหน้าจอหลัก หรือแอปอื่นๆ ที่ใช้ WKWebView และ App Bound Domains บนต้นกำเนิดเดียวกัน”
แม้ว่าเราจะยังไม่มีภาพเต็ม แต่ความจริงที่ว่า Service Worker เป็นสิ่งที่อยู่ใน iOS ยังคงเป็นสาเหตุของการเฉลิมฉลอง และเราหวังเพียงว่าการเปิดตัวที่เสถียรจะทำให้เราเห็นภาพที่สมบูรณ์ยิ่งขึ้น
การสนับสนุนใหม่สำหรับ TouchID และ FaceID
ที่เพิ่งเปิดตัวในการประชุมนักพัฒนาทั่วโลกของ Apple (WWDC) ในที่สุด Touch ID และ Face ID ก็พร้อมใช้งานบน Safari ผ่าน WebAuthn API แล้ว เมื่อผสานรวมแล้ว คุณลักษณะเหล่านี้จะมอบประสบการณ์ที่ราบรื่นให้กับ PWA ของคุณและช่วยผลักดันประสบการณ์ผู้ใช้ให้ดีขึ้น

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


ตำแหน่งทางภูมิศาสตร์สำหรับเว็บ
สถานะของ W3C Geolocation API ใน Safari เป็นอย่างไร มีการเปลี่ยนแปลงบางอย่างที่ส่งผลให้การติดตามตำแหน่งดีขึ้น แต่ ไม่ได้เป็นผลโดยตรง จากการปรับปรุงใดๆ ที่ทำกับ W3C Geolocation API แปลก? พวกเรารู้. มาเจาะลึกเรื่องนี้กันดีกว่า:
เมื่อเปิดใช้งาน ตำแหน่งที่แม่นยำ ต่อแอ พใน iOS 14 Beta ใหม่ เราสามารถให้ Safari ติดตามตำแหน่งโดยประมาณของเราได้:

ระบบปฏิบัติการเท่านั้นที่รู้จักตำแหน่งโดยประมาณ และในระหว่างกระบวนการวิเคราะห์พฤติกรรมการติดตามตำแหน่งใหม่ใน iOS ยังไม่มีใครพบคำตอบที่แน่ชัดว่า iOS 14 Beta 6 ใหม่ให้ตำแหน่งโดยประมาณแก่ PWA ได้อย่างไร แต่เมื่อดูข้อมูลจนถึงตอนนี้ดูเหมือนว่าจะมีแนวโน้มดี ด้านล่างนี้คือตัวอย่างจากผลงานของ Flirt ที่ใช้ Iguazu เป็นสถานที่ติดตาม

อย่างที่คุณเห็น API จะกำหนดและแสดงตำแหน่งของหัวเรื่องอย่างแม่นยำ เราเดาว่าผลลัพธ์ที่น่าประทับใจนี้เกี่ยวข้องกับการเปลี่ยนแปลงที่จะเกิดขึ้นกับ Core Location API ซึ่งแสดงอยู่ในวิดีโอ WWDC2020 นี้
App Clips — อาจจะเป็นสิ่งที่ดี
ด้วย App Clip ใหม่ นักพัฒนาสามารถมอบประสบการณ์ "เหมือนการติดตั้ง PWA" ได้ง่ายๆ โดยใช้เมตาแท็ก:
<meta name="apple-itunes-app" content="app-id=myAppStoreID, app-clip-bundle-id=appClipBundleID, affiliate-data=myAffiliateData, app-argument=myAppArgument">
คุณสามารถจินตนาการว่าคุณลักษณะ App Clip ใหม่นี้ทำงานคล้ายกับ Instant App บน Android เพียงแต่เน้นที่การสแกน NFC และ QR มากขึ้นเท่านั้น และทำให้ผู้ใช้ติดตั้งแอปที่มาพร้อมเครื่องได้ในที่สุด

[ที่มา: ห้องข่าวของ Apple]
คุณลักษณะใหม่นี้มีศักยภาพอย่างไร เราไม่รู้ แต่อาจเป็นก้าวหนึ่งสู่ PWA ที่ติดตั้งได้ที่เรามีบน Android
สิ่งเลวร้าย
คลังแอปใหม่โดยไม่สนใจ กปปส
ไลบรารีแอปใหม่เป็นคุณลักษณะอัตโนมัติที่จัดเรียงและจัดระเบียบแอปของคุณตามการใช้แอป หมวดหมู่ ฯลฯ PWA ที่เพิ่มลงในหน้าจอหลักสามารถใช้ประโยชน์จากการปรากฏในหน้าจอหลักของผู้ใช้และภายใต้หมวดหมู่ Webclips แม้ว่าพฤติกรรมนี้ ไม่สม่ำเสมอและอาจมีการเปลี่ยนแปลงได้

ในความเป็นจริง ผู้ทดสอบช่วงแรกๆ พบว่า PWA ถูกละเลยและ จะไม่แสดงเลย ใน App Library ใหม่ ไม่ว่าจะอยู่ในกลุ่ม "ที่ เพิ่งเพิ่ม " หรือ " Suggestions " ดังนั้น แม้ว่าการประปาส่วนภูมิภาคจะดีพอๆ กับแอปที่มาพร้อมเครื่อง แต่ก็ยังคงเป็นข่าวที่น่าตกใจสำหรับเรา เนื่องจากเราไม่ได้คาดหวังว่า PWA จะถูกเพิกเฉย
ไม่มีการเปลี่ยนแปลงในการสนับสนุน Web App Manifest
อย่างที่คุณคาดไว้ ไม่มีการเคลื่อนไหวใดๆ จาก Apple ที่จะผลักดันให้รองรับ Web App Manifest สถานะการสนับสนุน Web App Manifest ยังคงได้รับการ สนับสนุนบางส่วน ซึ่งหมายความว่าไม่มีการสนับสนุนสำหรับ icons , minimal-ui , fullscreen , orientation หรือ theme-color

ที่มา: WebKit
แถบสถานะ
แม้ว่าจะเป็นการดีที่ได้เห็น iOS รับค่าจาก theme-color จาก Web App Manifest แต่เราจะต้องชำระให้น้อยลงในระหว่างนี้ ตั้งแต่ iOS 14 เบต้าเวอร์ชัน 5 เป็นต้นไป เราไม่สามารถมีแถบสถานะสีขาวได้อีกต่อไป และค่าที่ยอมรับเท่านั้นคือ black และ black-translucent

น่าเกลียด
ฟีเจอร์หลักยังไม่รองรับ
เป็นการอัปเดตครั้งใหญ่ แต่ยังมีบางสิ่งที่ยังขาดอยู่ ส่วนใหญ่อาจมีบางอย่างเกี่ยวกับข้อเท็จจริงที่ว่าคุณสมบัติหลักบางอย่างของ PWA ยังคงไม่ได้รับการสนับสนุน และแทบไม่มีการเคลื่อนไหวใดจาก Apple ที่จะผลักดันคุณลักษณะเหล่านี้:
- เว็บพุช
- ซิงค์พื้นหลัง
- วงจรชีวิตของเพจ
- พนักงานบริการบน WebViews (ซึ่งหมายความว่าไม่มี PWAs บน Chrome, Firefox, Instagram หรือ Facebook ที่การท่องเว็บไม่ใช่เป้าหมายหลัก)
- ลิงค์สากล / การจับลิงค์
บทสรุป
คุณรู้สึกอย่างไรกับการเปลี่ยนแปลงที่กำลังจะเกิดขึ้นเหล่านี้? สำหรับเรา เรารู้สึกว่าเรารู้สึกผิดหวังหลังจากตรวจสอบการเปลี่ยนแปลงทั้งหมดแล้ว มีการเปลี่ยนแปลงบางอย่าง เช่น App-Bound Domains, Geolocation ซึ่งดูเหมือนจะเป็นขั้นตอนที่ถูกต้อง แต่ Apple ไม่ได้ใส่ใจที่จะผลักดันคุณลักษณะหลักของ PWA เพิ่มเติมในการอัปเดตนี้ และมันสมเหตุสมผลแล้ว เราเดาว่า เพราะนี่คือ Apple ที่เรากำลังพูดถึงที่นี่ — ผู้ซึ่งเรารู้มาโดยตลอดว่ายืนกรานต่อต้านเว็บ
