Blink Intent คืออะไร

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

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

รายชื่ออีเมล blink-dev

ดูวิธีการทำงานของเจตนา Blink ความสำคัญของเจตนา และวิธีที่ฟีเจอร์ใหม่ๆ เข้ามาใน Blink

Chromium คือโปรเจ็กต์เบราว์เซอร์โอเพนซอร์สที่ใช้สร้าง Chrome รวมถึงเบราว์เซอร์และเฟรมเวิร์กอื่นๆ Blink คือเครื่องมือแสดงผลที่ Chromium ใช้

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

กระบวนการที่เปิดกว้างและทำงานร่วมกัน

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

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

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

จากไอเดียสู่ข้อเสนอ

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

ตัวอย่าง: FedCM

คำอธิบายเกี่ยวกับ FedCM ใน GitHub

Federated Credential Management (FedCM) คือ API ที่มีแนวทางที่ให้ความสำคัญกับความเป็นส่วนตัวและใช้งานง่ายสำหรับการลงชื่อสมัครใช้ และเข้าสู่ระบบของผู้ใช้ ซึ่งเรียกว่าข้อมูลประจำตัวแบบรวม เช่น มีผลกับ ลงชื่อเข้าใช้ด้วย Google และการลงชื่อเข้าใช้โซเชียลอื่นๆ

หากต้องการสร้าง Browser API ขั้นตอนแรกคือการเตรียมข้อเสนอสำหรับการอภิปรายต่อสาธารณะ ข้อเสนอของ FedCM ได้รับการเผยแพร่ใน GitHub เป็นคำอธิบาย เราขอเชิญทุกท่าน ถามคำถามหรือแสดงความคิดเห็นเกี่ยวกับการออกแบบฟีเจอร์โดยสร้าง ปัญหาใน GitHub ในที่เก็บคำอธิบาย ความคิดเห็นอาจรวมถึงคำอธิบายของนักพัฒนาแอปเกี่ยวกับกรณีการใช้งานเพิ่มเติม ข้อจำกัด แนวคิดในการปรับปรุง หรือคำมั่นสัญญาว่าจะให้การสนับสนุน

เมื่อหน่วยงานด้านการกำหนดมาตรฐาน เช่น W3C นำข้อเสนอไปใช้แล้ว ผู้มีส่วนเกี่ยวข้องจะเข้าร่วมการสนทนาและดู งานนำเสนอในกลุ่มมาตรฐานเว็บ เช่น W3C Working Groups ได้

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

ความตั้งใจที่จะสร้างต้นแบบ

ในขั้นตอนนี้ วิศวกร Chromium จะเริ่มใช้ฟีเจอร์ได้ ซึ่งหมายความว่า ฟังก์ชันต้นแบบของฟีเจอร์อาจพร้อมให้ใช้งานสำหรับการทดสอบของนักพัฒนาแอป โดยซ่อนไว้หลังฟีเจอร์ แฟล็ก โดยจะเปิดตัวใน Chrome Canary ก่อน แล้วจึงเปิดตัวในช่องทางการเผยแพร่อื่นๆ ผู้ใช้ทุกคนสามารถตั้งค่า Flag จากหน้า chrome://flags เพื่อเปิดใช้งานและทดสอบฟีเจอร์ในเบราว์เซอร์ได้

อย่างไรก็ตาม คุณตั้งค่าฟีเจอร์ทดลองบางอย่างจากหน้า chrome://flags ไม่ได้ หากต้องการควบคุมอย่างละเอียดมากขึ้น คุณสามารถเรียกใช้ Chrome จากเทอร์มินัลโดยใช้ Flag บรรทัดคำสั่งได้ โปรดทราบว่าฟีเจอร์ใหม่บางอย่างจะยังไม่พร้อมใช้งานจนกว่าฟีเจอร์นั้นจะ เปิดตัวให้ทดสอบใน Chrome Canary ซึ่งกรณีนี้เกิดขึ้นได้ยาก ฟีเจอร์บางอย่าง ไม่มีฟีเจอร์ทดลองของตัวเอง แต่จะพร้อมใช้งานหากเปิดใช้ฟีเจอร์ทดลอง experimental-web-platform-features โดยทั่วไปแล้ว กรณีนี้มักเกิดขึ้นกับฟีเจอร์ "ขนาดเล็ก" ที่ใช้เวลาในการติดตั้งใช้งานไม่เกิน 3-6 เดือน

การรวบรวมความคิดเห็นเกี่ยวกับต้นแบบ

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

สร้างปัญหาในเครื่องมือติดตามปัญหาของ Chromium

ความตั้งใจที่จะทดลอง: การทดสอบในโลกแห่งความเป็นจริง

โพสต์เจตนาที่จะทดลองใน blink-dev เป็นขั้นตอนถัดไปที่ไม่บังคับ หากวิศวกรของ Chrome ต้องการขอเรียกใช้ช่วงทดลองใช้จากต้นทาง

ความตั้งใจที่จะทดสอบ FedCM

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

รายการช่วงทดลองใช้ Chrome จากต้นทางที่พร้อมใช้งาน

หากต้องการดำเนินการต่อเพื่อติดตั้งใช้งานฟีเจอร์ Blink API owners ต้องให้ความเห็นชอบโดยตอบกลับความตั้งใจด้วยโพสต์ "ดูดี" ซึ่งเรียกว่า LGTM

เจ้าของ Blink API เป็นกลุ่มเล็กๆ ของผู้ร่วมให้ข้อมูล Chromium ซึ่งมีประสบการณ์สูงเกี่ยวกับแพลตฟอร์มเว็บและ API ของแพลตฟอร์ม และชุมชน Blink เห็นพ้องว่ามีสถานะดี พร้อมด้วยความมุ่งมั่นต่อภารกิจและค่านิยมของ Blink นอกจากจะอนุมัติ (หรือไม่!) ให้ฟีเจอร์ดำเนินการต่อเพื่อ การติดตั้งใช้งานแล้ว เจ้าของ API ยังดูแลกระบวนการ Blink Intent ด้วย

Intent to Experiment ต้องได้รับ LGTM อย่างน้อย 1 รายการจากเจ้าของ API

LGTMs ในโพสต์ความตั้งใจที่จะทดลองใช้ FedCM

คุณค่าของช่วงทดลองใช้จากต้นทาง

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

ความตั้งใจที่จะจัดส่ง: ขั้นตอนสุดท้าย

ประกาศ Intent ที่จะเปิดตัวเป็นสัญญาณว่าตอนนี้ฟีเจอร์พร้อมใช้งานแล้วและพร้อมที่จะนำไปใช้สำหรับเวอร์ชันสำหรับผู้ใช้ทั่วไปสำหรับผู้ใช้ทั้งหมดใน Chrome เวอร์ชันเสถียรโดยไม่ต้องใช้ Flag หรือโทเค็นทดลอง Intent to Ship ต้องได้รับ LGTM 3 รายการจากเจ้าของ API ก่อนจึงจะดำเนินการติดตั้งใช้งานได้

การเปิดตัวฟีเจอร์ใหม่

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

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

ความตั้งใจของ Blink มีอีก 2 ประเภท ได้แก่

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

แม้จะฟังดูน่าเศร้า แต่จริงๆ แล้วสิ่งเหล่านี้มีความสำคัญอย่างยิ่งต่อความสำเร็จของการพัฒนา Blink

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

เราจะโพสต์ความตั้งใจที่จะนำออกเมื่อวิศวกรตั้งใจที่จะปิดใช้งานโค้ด โดยค่าเริ่มต้น

LGTMs on Intents to Deprecate on blink.dev.

ความสำคัญของการเลิกใช้งานและการนำออก

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

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

คุณติดตามความคืบหน้าของฟีเจอร์ได้ใน Chrome Status ซึ่งคุณสามารถสมัครรับข้อมูลอัปเดต รายงานข้อบกพร่อง และค้นหาแหล่งข้อมูลอื่นๆ ได้

แผนการเปิดตัวฟีเจอร์ของ Chrome ใน chromestatus.com

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

หากชื่นชอบ Blink Intent คุณยังสร้างต่อจากบริการติดตาม Blink Intent อัตโนมัติได้ด้วย

ขั้นตอนถัดไป

ดูเวอร์ชันการเผยแพร่ของ Chrome คืออะไร