Chrome 開發人員行家簡介

Ben Galbraith
Ben Galbraith

開發人員經常向我們反應,要跟上最新的網路異動並不容易,而且難以瞭解這些變化的起因。今天,我們將推出名為 Chrome Dev Insider 的新系列,其中會分享 (1) 值得分享的酷炫資訊、(2) 深入探討 Google 如何對重要主題 (例如變更 FLOC) 做出決策 (例如:變更 FLOC) 或與生態系統的合作方式 (例如,需要改變使用者知道的重大消息,例如 Interop 2022)。

在我們分享我們正在努力的方向的同時,將為 2022 年的四個優先要務制定了:

  • 提供令人愉悅的使用者體驗:讓使用者直覺操作。包括效能、交易、身分或轉換情形
  • 強化網路功能:網路正逐漸從內容使用平台轉為支援平台,包括需要深度作業系統和硬體層級整合的使用者,才能提供各式各樣的體驗。
  • 簡化網站開發流程:簡化決策流程,並提升開發人員的工作效率。
  • 改善網路隱私:為網路使用者提供服務在追蹤和指定目標方面,隨著開發人員的複雜程度與日俱增,加強資料隱私保護措施的期望。

最新消息:2022 年互通性

規劃藍圖時,我們會參考開發人員意見,瞭解網頁程式開發人員最棘手的問題點和需求。反覆出現的一大主題是瀏覽器相容性,因此在所有瀏覽器上都能呈現一致的體驗。過去一年來,我們持續與生態系統合作,共同解決這個主題,目標是「簡化網頁開發程序」。

去年 Microsoft、Chrome 和生態系統的參與者宣布 Compat 2021,讓所有熱門的瀏覽器引擎 (Chromium、Gecko 和 Webkit) 在該年度的五大重點領域中獲得超過 90% 的分數。不僅如此,Compat 2021 也促成了 CSS 網格 (使用率為 12% 且穩定成長) 和 CSS Flexbox (用量為 77%) 等強大功能。

上個月,Apple、Bocoup、Google、Igalia、Microsoft 和 Mozilla 攜手合作,組成支持者,希望能解決網頁程式開發人員找出的常見瀏覽器相容性問題,並達成共識。我們最終將推動 Interop 2022,這項專案旨在打造更同質的平台。遊戲的基準測試著重於 15 個優先領域,而開發人員認為這些領域是提高生產力的關鍵領域。

行家獨家資訊:與瀏覽器同行

在 2022 年,我很重視協同整合工具,與 Robert NymanPhilip Jägenstedt 等相關對話一窺內部的故事。以下簡要說明編輯的整個過程。

這項計畫的賣點為何?

Robert:一切於 2019 年問世,當時我們進行了 2019 年 MDN DNA 問卷調查。相容性問題顯然是開發人員打造網路環境的主要問題之一,並在 2020 年 MDN 瀏覽器相容性報告中提供更詳細的資訊。我們從中取得了足夠的資訊和可採取行動的資料,以便在 Compat 2021 2021 年計畫展開之路上,最終促成了 2022 年之間的互通性,同時拓展了這個範圍。

Philip:另外,我們也要提到 web-platform-testsCSS 2021 現況。過去幾年來,我們與其他瀏覽器廠商密切合作,測試過 WPT 的測試成果,因此我們想把握這個良機。這些功能的測試大部分都已編寫,因此我們只需要審查測試並新增一些缺少的涵蓋率即可。Google 為 wpt.fyi 投入大量資金,我們也向 Mozilla 致謝,感謝 WPT 目前的成功。Mozilla 當然也在 MDN DNA 問卷調查方面也有很大的幫助。除此之外,CSS 也在 2021 年推出。為了達成 2022 年協同整合等計畫,我們需要向網站開發人員提供意見,因此我們與問卷調查維護工具 Sacha 合作,提出了一些關於瀏覽器相容性問題的新問題。這確實幫助我們推動 2022 年 Interop 規劃程序。

對於 Compat 2021 有何看法或意見回饋?

Robert:評估每個瀏覽器引擎的運作情況並提供分數和深入分析資料,真的很有用,因此我們可以跟上進度,務必討論並解決不清楚或需要優先處理的問題。我們很快就發現「互通性」應該是計畫的更好的名字。「相容性」和「互通性」這兩個詞彙通常是由瀏覽器廠商所區分,其中相容性是指網站相容性,而互通性是指兩種以上瀏覽器的行為相同。在這個術語中,這項工作關注的重點在於互通性,讓專案符合這項命名法。

我們的願景為何?

Robert:為了讓網路保持開放,瀏覽器和轉譯引擎的多元性至關重要。不幸的是,對我們的開發人員來說,這種價格目前的價高,因為開發人員必須跟上每個引擎不同等級的功能支援。我們的願景是開發人員認為網路平台是最可行的選項,也是最符合自身需求的選擇,因此開發人員可以專心打造最優質的體驗,不必花大把時間解決互通性問題。而為了達成這個目標,詢問度最高的功能必須登陸所有主要瀏覽器引擎,開發人員才能真正在網路平台上成功拓展業務。

當瀏覽器的目標 (有時可能有所不同) 相輔相成,我們該如何合力推動未來發展?

Philip:我們一直在尋找共同興趣的領域,找出雙方合作的雙贏合作模式,以便雙方實現共同目標。由於同時處理多項工作,因此我們能優先處理這些事務,以更快的速度發展,獲得比我們個別工作更優異的品質。沒錯,

我認為必須發現,這種共識的做法會受到許多限制,也就是說,目標難以達成共識,因此我們必須以其他方式向前邁進。有時候,有更多證據可以證明網頁程式開發人員或使用者需求,但最終的瀏覽器廠商可以推送沒有廣泛協議的內容。在最理想的情況下,網頁開發人員試用此功能、尋找能夠解決其需求,然後要求在所有瀏覽器中使用相同功能時,就會展現這項功能的價值。

請在 2022 年回到協同整合工具中,發現管道中某個時間點的非設計或版面配置功能會加入嗎?

Philip:當然可以!協同整合工具 2022 年不限於設定樣式和版面配置功能,但最終完全採用 CSS。部分原因在於 CSS 2021 年曾為最新內容,但也是因為網頁程式開發人員表示,如果瀏覽器間存在差異,最麻煩的地方。表單和對話方塊元素等多個重點區域,除了 CSS 外,我們也進行一些調查,探討如何編輯 API 和指標事件,以及移動滑鼠事件。希望這次協同整合工具可在 2023 年針對開發人員網路需求提供更多最新資料,並持續加入更多這類功能。

近期重要異動

本系列課程的其中一項意圖是將開發人員預知即將推出的重大異動。而這才是改善使用者體驗和平台功能的重要關鍵。

以下時程說明我們預期這些異動生效的時間。但部分功能的發布版本可能會有異動。

使用者代理程式縮減

User-Agent 標頭及其相關的 JS 介面不僅會傳輸實用的瀏覽器和裝置資訊,也傳輸的內容舊版和不正確的資訊,比起近乎無限的通用 Analytics 字串剖析錯誤,這種錯誤是因為「會」傳送至伺服器,用於處理所有導覽和資源要求。這代表伺服器大約可使用 10 位元的熵,在使用者瀏覽網路時建構穩定的追蹤 ID。

我們目前的計畫是藉由持續提供低安全性的瀏覽器主要版本、平台名稱和行動裝置,減少高熵資訊,藉此縮減現有通用 Analytics 字串。有些用途如果需要在標頭中納入額外資訊,自 Chrome 第 89 版起已推出 User-Agent Client Hints API。

我們進行了 6 個月的來源試用,除了進行實驗和意見回饋,結果相當開心,即使參與者超過 200 人,也無法收到有關破壞行為的意見回饋。

本機字型存取 API

Chrome 即將推出 Local Font Access API。雖然網站一直都能使用本機字型,但這個 API 還是會列舉本機字型清單,並提供字型資料本身的存取權。這項功能可讓使用者將全部字型用於網頁式設計和其他應用程式。

本機字型向來被稱為指紋向量。雖然這個新 API 並不會提升將字型用於數位指紋採集的功能,但 Chrome 會要求使用者先為網站授予新的 "local-fonts" 權限,才能使用新的 Local Font Access API。

日後,我們規定必須要求使用相同的「local-fonts」在使用任何提供本機字型存取權的 API 前,先取得同意。

使用 Cache-control: no-store 執行 BFCache

我們發現了改善返回/轉送快取功能可提供即時往返瀏覽的頻率的絕佳機會。這需要變更透過 Cache-control: no-store HTTP 標頭提供頁面的 BFCache 行為。為避免發生重大意外,我們製作了公開提案,並會監控各種信號 (例如,在僅使用 HTTP 的 Cookie 發生變更時,將網頁從 BFCache 中移除),並在特殊情境下進行處理 (例如 Enterprise/Edu 客戶的群組政策)。這個機會雖然複雜,但卻十分令人期待,我們希望您能完成額外的檢查與意見回饋!

  • 時間表:指定 Chrome 104 (2022 年 7 月),並未出現重大意外。
  • 行動號召:請參閱提案進一步瞭解詳情,包括如何啟用進行中的導入程序,以及提供意見回饋的方式,例如實際做法會帶來新挑戰。

希望透過這系列影片,幫助開發人員社群拉近他們與團隊的距離,並增進他們彼此間的聯繫。敬請密切留意後續消息,掌握最新消息。

在此之前,先祝您一切順心!

你對 Chrome Dev Insider 第一版有什麼看法?歡迎提供意見