การเลิกใช้งานและการนำฟีเจอร์ใน Chrome ออก

ดูวิธีที่ Chrome นำฟีเจอร์ที่ทำงานได้ไม่ดีออก พร้อมทั้งลดการหยุดชะงักของผู้ใช้ปลายทางและนักพัฒนาซอฟต์แวร์

Chrome เพิ่มฟีเจอร์และฟังก์ชันการทำงานใหม่ๆ อย่างต่อเนื่อง แต่ในบางครั้งก็จำเป็นต้องนำฟีเจอร์ออก

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

การนำฟีเจอร์ของเบราว์เซอร์ออก

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

การเลิกใช้งานและการนำออก

การนำฟีเจอร์ออกจาก Chrome มี 2 ระยะหลักๆ ดังนี้

เว็บเบราว์เซอร์ที่ใช้ Chromium เช่น Chrome ใช้เครื่องมือการแสดงผล Blink เพื่อเปลี่ยนโค้ด และทรัพยากรให้เป็นหน้าเว็บที่คุณดูและโต้ตอบได้ เมื่อวิศวกรต้องการ ทำการเปลี่ยนแปลงใน Blink ก็จะโพสต์ในรายชื่ออีเมล blink-dev เพื่อขออนุมัติ ดำเนินการต่อ โพสต์ในรายชื่ออีเมลเหล่านี้เรียกว่า Blink Intents

เมื่อวิศวกรต้องการเลิกใช้งานและนำฟีเจอร์ออกจาก Blink พวกเขาจะโพสต์เจตนาที่จะเลิกใช้งานในรายชื่ออีเมล blink-dev ตามด้วย เจตนาที่จะนำออก โดยมักจะรวม Intent ทั้ง 2 อย่างเป็นIntent ที่จะเลิกใช้งานและนำออก

ความตั้งใจที่จะเลิกใช้งาน

วิศวกรของ Blink จะโพสต์ประกาศความตั้งใจที่จะเลิกใช้งานเมื่อต้องการเริ่ม เตือนนักพัฒนาซอฟต์แวร์ว่ามีการวางแผนที่จะนำฟีเจอร์ของเบราว์เซอร์ออก ณ จุดนี้ ฟีเจอร์นี้จะยังคงใช้งานได้ แต่เราจะให้การสนับสนุนและข้อมูลจากเครื่องมือสำหรับนักพัฒนาเว็บใน Chrome แก่นักพัฒนาแอป รวมถึงในโพสต์ในบล็อก บน chromestatus.com และในเอกสารประกอบเกี่ยวกับฟีเจอร์บน MDN และ ที่อื่นๆ

ตัวอย่าง ประกาศการเลิกใช้งาน: Mutation Event

ความตั้งใจที่จะนำออก

เราจะโพสต์ประกาศเจตนาที่จะนำออกเมื่อวิศวกรของ Blink ตั้งใจที่จะปิดใช้งานฟีเจอร์และนำโค้ดสำหรับฟีเจอร์นั้นออก โดยปกติแล้ว Intent to Remove จะใช้ร่วมกับ Intent to Deprecate ในรูปแบบ Intent to Deprecate and Remove

ตัวอย่าง ความตั้งใจที่จะเลิกใช้งานและนำออก: SQL ในเว็บ

ลดการหยุดชะงักของผู้ใช้และนักพัฒนาแอป

Chrome จะหลีกเลี่ยงการนำฟีเจอร์ออกทุกครั้งที่เป็นไปได้

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

นอกเหนือจากโพสต์ Intent ในกลุ่มอีเมล blink-dev แล้ว การเลิกใช้งานยังประกาศในบล็อกของนักพัฒนาซอฟต์แวร์ Chrome ด้วย นอกจากนี้ เครื่องมือสำหรับนักพัฒนาเว็บใน Chrome และ เอกสารประกอบฟีเจอร์ยังแสดงคำเตือนและข้อมูลสนับสนุนด้วย นอกจากนี้ เรายังเผยแพร่ไทม์ไลน์ในรายการ chromestatus.com สำหรับฟีเจอร์ที่เลิกใช้งานแล้วด้วย

เปิดใช้ฟีเจอร์ที่เลิกใช้งานแล้วอีกครั้งชั่วคราว

คุณอาจเข้าถึงฟีเจอร์ต่อได้ชั่วคราวหลายวิธีหลังจากที่ Chrome นำการสนับสนุนออกโดยค่าเริ่มต้น

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

  • นโยบายของ Chrome Enterprise
    บางครั้งเราจะเปิดใช้นโยบายเพื่อให้เว็บไซต์เลือกกลับไปใช้ฟีเจอร์ที่เลิกใช้งานและนำออกไปแล้วได้ชั่วคราว เช่น มีMutationEventsEnabled นโยบาย สำหรับ Chrome เวอร์ชัน 124 ถึง 136

  • ฟีเจอร์ที่ถูกเลิกใช้งาน
    สำหรับฟีเจอร์ที่ถูกเลิกใช้งานบางอย่าง ฟีเจอร์ที่ถูกเลิกใช้งาน จะให้สิทธิ์เข้าถึงฟีเจอร์ชั่วคราวสำหรับการพัฒนาในเครื่อง ตัวอย่างเช่น เราได้ให้แฟล็ก enable-unsafe-swiftshader เพื่ออนุญาตให้นักพัฒนาแอปเปิดใช้ SwiftShader อีกครั้งเพื่อใช้เป็นข้อมูลสำรองสำหรับซอฟต์แวร์ WebGL

ดำเนินการ

ในฐานะนักพัฒนาแอป คุณต้องพร้อมรับการเปลี่ยนแปลงของแพลตฟอร์มเว็บ

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

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

ดูข้อมูลเพิ่มเติม