當工程師想要變更 Blink 轉譯引擎時,會在 blink-dev 電子郵件清單上發布訊息,以便取得繼續執行的核准。這些郵寄清單貼文稱為「Blink 意圖」。
以 Chromium 為基礎的網路瀏覽器會使用 Blink 轉譯引擎,將程式碼和資源轉換為可供您查看及互動的網頁。

瞭解 Blink 意圖的運作方式、重要性,以及新功能如何導入 Blink。
Chromium 和 Blink
Chromium 是開放原始碼瀏覽器專案,用於建構 Chrome 和其他瀏覽器與架構。Blink 是 Chromium 使用的轉譯引擎。
新功能必須經過 Chromium 專案的開放式開發流程,才能在 Blink 中推出。「新功能」是指瀏覽器程式碼或架構的任何變更或新增項目。這可能是新的 JavaScript API、Blink 程式碼的重大效能提升,或是其他變更,例如瀏覽器的外觀或功能。
開放式協作程序
Chromium 是一個龐大且複雜的專案,有數千名貢獻者。當 Chromium 有變更時,每個里程碑都是邀請更廣泛的網路生態系統針對設計和實作方式提出意見的機會。
盡可能讓新功能在各個網頁平台上皆可互通,而非僅在單一瀏覽器上實作。網頁開發人員不希望遇到意外狀況,例如瀏覽器無法正常運作,或是您必須為不同瀏覽器和平台編寫不同的程式碼。Blink 意圖有助於建構及規範變更程序,讓變更更容易預測,並減少意外情況,這對網頁開發人員來說是好事。
為了保護使用者,瀏覽器供應商必須謹慎處理變更,避免導致網站停止運作。網站擁有者經常會停止維護網站。有些網站已經好幾十年未更新了!瀏覽器供應商在進行可能導致中斷的變更時,必須考慮這一點。
從構想到提案
我們會根據研究結果提出網頁平台的變更和更新建議,包括與使用者、企業、瀏覽器工程師、網頁開發人員和其他利害關係人進行諮詢。這項研究可讓 Chrome 團隊瞭解平台缺少哪些功能,或需要進行哪些變更。一開始,網站平台上的變更或新功能提案只是頁面上的文字。工程師會分享文件,以便同事提供意見回饋和討論。
範例:FedCM
Federated Credential Management (FedCM) 是一種 API,可為管理使用者註冊和登入的平台提供新式機制,稱為聯合身分識別,例如選取「使用 Google 帳戶登入」或「使用 GitHub 帳戶登入」時。
當 FedCM 等提案準備好供大眾討論時,就會以說明文件的形式發布至 GitHub。目前,任何人都可以在 GitHub 的說明存放區中建立問題,針對功能設計提出問題或意見。意見回饋可能會說明其他用途或限制、提供改善想法,或是表達支持。

一旦提案獲得標準化機構 (例如 W3C) 採用,利益相關者就能加入討論,並在網路標準群組 (例如 W3C 工作群組) 中觀看簡報。
Blink 意圖:里程碑和進度
每當工程師在開發新功能或變更 Blink 轉譯引擎時,都會在 blink-dev 討論群組上發布一篇文章,說明他們打算進入下個階段,以便實作功能。這類貼文稱為「意圖」。任何人都可以訂閱 blink-dev 群組,在 Blink 的新功能有進展時收到通知,或是訂閱個別功能以接收更新。
意圖至原型設計:第一個檢查點
此時,Chromium 工程師可以開始實作功能。也就是說,這項功能的原型功能可能會在功能旗標的背後提供給開發人員測試,最初會在 Chrome Canary 中提供,然後再在其他發布管道中提供。任何使用者都可以在 chrome://flags 頁面中設定標記,在瀏覽器中啟用及測試功能。
不過,並非所有旗標都能透過 chrome://flags 頁面設定。如需更精細的控制,您可以使用指令列標記,透過終端機執行 Chrome。請注意,部分新功能必須在 Chrome Canary 中發布測試版後才能使用,但這種情況相當罕見。部分功能沒有專屬標記,但只要啟用 experimental-web-platform-features 標記,即可使用這些功能。這通常是指「較小」的功能,最多需要三到六個月才能實作。
收集原型設計的意見回饋
新功能的開發原型完成後,Chromium 工程師會邀請您參與討論並進行初期實驗。在這個階段,意見回饋對於驗證及重複提案至關重要。如要針對 Chrome 中的實作方式提出意見,請前往 Chromium 錯誤。

意圖進行實驗:在實際環境中進行測試
如果 Chrome 工程師想要要求執行來源試驗,則可選擇在 blink-dev 上發布「Intent to Experiment」文章。

來源試用是一種測試新功能或實驗功能的方法。您必須註冊功能的來源試用,然後取得試用權杖。只要網頁提供權杖,這項功能就會啟用。

獲得 Blink API 擁有者的核准
如要繼續執行功能導入作業,Blink API 擁有者必須給予核准,方法是回覆意圖,並附上「我認為可以」的貼文,也就是所謂的 LGTM。
Blink API 擁有者是一小群 Chromium 貢獻者,他們擁有豐富的網路平台和 API 使用經驗,並且 Blink 社群認定他們是優秀的貢獻者,且願意為 Blink 的使命和價值觀盡心盡力。除了核准 (或不核准) 功能是否可繼續導入外,API 擁有者也會監督 Blink 意圖程序本身。
意圖實驗必須至少獲得 API 擁有者提供的一個 LGTM。

來源試用的價值
開發人員可以註冊功能的來源測試,然後在實際環境中測試實際使用者在正式版中使用的功能,而無須等待使用者採取行動才能啟用功能。開發人員可以分享測試結果,提供寶貴的洞察資訊和資料,協助重複使用並改善功能。
出貨意圖:最終里程碑
意圖發布信號表示功能已完成,可供 Chrome 穩定版的所有使用者使用,無需標記或試用權杖。意圖要發布的功能必須先取得 API 擁有者的 三個 LGTM,才能繼續實作。
推出新功能
獲得核准後,這項功能就會合併至即將推出的版本,然後透過 Chrome 發布版本頻道進行。我們通常會特別小心地測試及實作新功能。部分功能會逐步向更多使用者推出。如果出現非預期的副作用,也可以回溯及重做功能。
管理功能生命週期:淘汰和移除
還有兩種 Blink 意圖:
- 淘汰意圖
- 移除意圖
這聽起來可能有點悲哀,但其實對 Blink 開發的成功至關重要。
工程師會在想要開始警告開發人員某項功能已排定淘汰時,發布淘汰意圖。例如在 Chrome 開發人員工具控制台中提供淘汰功能的支援和相關資訊。
工程師若想讓程式碼預設為停用狀態,就會發布「Intent to Remove」。

淘汰和移除的重要性
停用和移除對網站平台的健康狀況至關重要。這些功能可確保 Chrome 能夠移除對使用者或網頁開發人員不利的功能,並有助於降低程式碼庫的複雜度。舉例來說,在穩定版瀏覽器的實際網站上使用 AppCache 後,我們發現 AppCache 設計上的問題,因此最終移除了該 API。淘汰和移除功能也能減少潛在的攻擊管道,進而確保 Chrome 的安全性。
就像所有 Blink 意圖一樣,Chrome 團隊會盡可能謹慎做出決策。他們會先查看功能使用率和其他資料,再繼續進行。移除功能的門檻其實非常高,只有在使用者人數極少,且有更好的替代方案時,我們才會移除功能。
隨時掌握 Blink Intents 最新動態
你可以在 Chrome 狀態頁面追蹤功能的進度,並訂閱更新、回報錯誤,以及查看其他資源。

如要追蹤新功能,請關注 Chromium 網誌。如要隨時掌握所有 Blink 意圖,請加入 blink-dev 討論群組。這可能會產生「大量」電子郵件!或者,您可能會選擇訂閱單一意圖。如要查看 Blink 意圖的試算表,請前往 bit.ly/blinkintents。如果您非常喜歡 Blink 意圖,甚至可以建構自動 Blink 意圖追蹤器服務。
後續步驟
請參閱「什麼是 Chrome 發布版本?」。