Chrome 開發人員行家簡介

班加布萊斯
Ben Galbraith

開發人員經常向我們表示,要跟上網路上的變動並不容易,也瞭解導致這些異動的原因。今天,我們推出了 Chrome Dev Insider 系列新系列講座,其中將分享 (1) 令人耳目一新的酷炫主題、(2) 深入瞭解我們如何決定一項重要主題 (例如變更 FLOC),或是瞭解我們與生態系統的合作方式 (例如 Interop 2022),以及 (3) 關於使用者需要瞭解的任何重要字串 (因影響使用者的重要須知)

根據今天的簡報內容,我們將以 2022 年的四項優先要務做為展示重點:

  • 提供愉快的使用者體驗:不論是效能、交易、身分轉換或轉換,使用者都能享有直覺化的體驗。
  • 強化網路功能:支援網路日新月異的網路角色,從本身成為內容取用平台,再到平台提供各式各樣的體驗,包括必須深度整合 OS 和硬體級別的人員。
  • 簡化網站開發:簡化決策流程,並提升開發人員工作效率。
  • 改善網路隱私:在追蹤及指定目標方面,隨著開發人員日益複雜,資料隱私保護措施的期望也越來越高。

新聞業:2022 年協同整合

我們在規劃藍圖時,都會查看開發人員意見回饋,藉此瞭解網頁開發人員的主要問題點和需求等。其中的關鍵主題是瀏覽器相容性,在不同瀏覽器中提供一致的體驗。過去一年來,我們一直在與大環境合作,共同探討這個主題,這也是「簡化網頁開發流程」的優先要務。

Microsoft、Chrome 和生態系統團隊在去年宣布 Compat 2021,成功讓所有廣受歡迎的瀏覽器引擎 (Chromium、Gecko 和 Webkit) 在今年指定的五個重點領域獲得 90% 以上的分數。此外,Compat 2021 也為 CSS Grid (使用率穩定成長 12%) 和 CSS Flexbox (使用率達 77%) 等強大功能奠定穩固的基礎。

上個月,Apple、Bocoup、Google、Igalia、Microsoft 和 Mozilla 也攜手支持解決網頁程式開發人員發現的常見瀏覽器相容性問題,並針對共通基準達成共識。最終成果是 Interop 2022 (2022 年互通性),這項專案的目標是在平台中提供更多同質性。基準測試著重在開發人員認為提高工作效率的 15 個優先領域

行家窺探:與我們的瀏覽器同儕合作

2022 年的協同整合是 2022 年的核心議題,我將與 Robert NymanPhilip Jägenstedt 一起參與這些討論,暢談後續的故事。以下分享編輯後的合作方式。

這項計畫的基因是什麼?

Robert:一切都始於 2019 年,當時我們進行了 2019 年 MDN DNA 問卷調查。相容性問題明確指出開發網路時開發人員的主要問題,我們在 2020 年 MDN 瀏覽器相容性報告中提供了詳細說明,這讓我們獲得了充足的資訊和可做為行動依據的資料,進而推動 Compat 2021 發展,結果不但持續執行,也運用了互通性 2022 拓展服務範圍。

Philip:此外,我還想提到 web-platform-testsCSS 2021 年 CSS 現況。過去幾年來,我們與其他瀏覽器廠商密切合作,協助他們使用 WPT 進行測試,而我們真的想要藉助這項成就。這些功能的測試大多已經撰寫,我們只需要審查測試並加入一些缺少的涵蓋範圍。Google 在 wpt.fyi 投注了許多心力,同時我們也和 Mozilla 一起表示,感謝 WPT 持續締造佳績。當然,Mozilla 也是 MDN DNA 問卷調查的重要一環。除此之外,我們也會舉辦《CSS 2021》發行報告。為攜手完成互通性 (例如 2022 年互通性) 團隊,我們需要針對網頁程式開發人員的需求提供最新建議,因此我們與問卷調查維護者 Sacha,納入一些關於瀏覽器相容性問題的新問題。這確實幫助了我們在 2022 年協同整合工具的規劃流程。

Compat 2021 是否有任何相關意見或意見回饋?

Robert:評估每個瀏覽器引擎的運作情形,而且有很實用的分數和洞察資訊,因此我們可以追蹤進度,確保不清楚或需要優先處理的問題並加以解決。我們也很快就發現,「Interop」比這項計畫更好用。「相容性」和「互通性」這兩個字詞通常是由瀏覽器廠商來區分,相容性是指網站相容性,而互通性是指兩個以上的瀏覽器行為相同。以這個術語來說,我們的目標是互通性,因此專案採用的命名機制也一致。

我們的願景為何?

Robert:為了確保網路的開放性,瀏覽器和轉譯引擎的多樣性至關重要。可惜的是,目前開發人員享有相當高的價格,他們必須持續提供各個引擎功能支援的不同等級。我們的願景是,開發人員認為網路平台是最可行的選項,也是最符合自身需求的最佳選擇,因此開發人員可以專心打造最佳體驗,不必花費大量時間處理互通性問題。為了達成這個目標,我們顯然是最受歡迎的功能需要導入所有主要的瀏覽器引擎,才能讓開發人員真正在網路平台上獲得成功。

當各瀏覽器的目標 (有時) 不同時,我們該如何共同推陳出新?

Philip:我們一直在尋找志趣相投的領域,找出那些在相同目標都能達成的雙贏局面。此外,我們會優先處理部分工作,並優先處理這些工作。這樣一來,我們就能聚焦於這些領域,在速度和品質方面都比單獨合作時更快。沒錯,

我認為這種共識做法會有極大的侷限,因為目標在這方面不夠一致,我們需要在其他方面進行進一步的整合。有時提供更多證據,證明網頁程式開發人員或使用者需求確實能解決問題,但瀏覽器供應商最終可以提供沒有廣泛協議的商品。現在,網頁開發人員在試用這項功能後,將展現該功能的價值,讓它能解決他們的需求,並在所有瀏覽器中要求提供相同功能。

在 2022 年再次通訊時,管道中是否出現非設計或版面配置功能?

Philip:當然可以!協同整合工具在 2022 年並不是只仰賴樣式和版面配置功能,但最終會極度投入 CSS。有部分原因是因為 CSS 2021 年的最新進展,但也因為網頁開發人員曾表示,他們最常遇到瀏覽器之間的差異。除了表單和對話方塊元素等多個焦點區域,我們更重視 CSS 編輯 API 和指標和滑鼠事件等調查工作。希望 2023 年協同整合工具能收集到更多來自開發人員網路的最新資料,並在日後納入更多這類功能。

即將推出的重要異動

本系列文章的其中一個用意,是預先告知開發人員近期的重大異動,這些都是改善使用者體驗和平台功能的關鍵。

下列時間表的時間表是預計會發生這些異動的時間。不過,功能的發布版本可能會有所變動。

使用者代理程式縮減

使用者代理程式標頭及其相關的 JS 介面不僅可傳輸實用的瀏覽器與裝置資訊,還傳輸了舊版歷程和不正確的資訊。與近乎無數的通用 Analytics (分析) 字串剖析錯誤所提供的問題在於,系統會針對所有導覽和子資源要求「被動」傳送至伺服器。這代表伺服器可用來在使用者瀏覽網路時用來建構穩定的追蹤 ID 大約 10 位元。

我們目前計劃減少現有通用 Analytics (分析) 字串,包括持續推送低熵的瀏覽器主要版本、平台名稱和行動裝置性,藉此凍結高度熵資訊。自 Chrome 第 89 版起,我們針對需要額外資訊才能提供額外資訊的使用情境,自 Chrome 第 89 版起,我們已提供 User-Agent Client Hints API。

我們進行了 6 個月的來源試用來進行實驗及提供意見回饋。即便有超過 200 名參與者,我們還是沒有收到任何有關中斷狀況的意見回饋。

本機字型存取 API

Chrome 即將啟動 Local Font Access API。雖然網站一直以來都能使用本機字型,但此 API 列舉本機字型清單,並提供字型資料本身的存取權。這項功能可讓使用者透過網頁式設計和其他應用程式,使用自己的所有字型。

本機字型向來稱為數位指紋採集向量。雖然這個新 API 不會增加使用字型進行指紋比對的功能,但 Chrome 會要求使用者為網站授予新的 "local-fonts" 權限,才能使用新的 Local Font Access API。

日後,我們打算先授予相同的「本機字型」權限,再使用任何其他提供本機字型存取權的 API。

  • 時間表:指定 Chrome 103 (2022 年 6 月)
  • 行動號召:進一步瞭解 API 以及使用方式來開始導入。

讓 BFCache 與 Cache-control: no-store 搭配運作

我們相信,可改善往返快取可以提供即時往返瀏覽功能的頻率。這需要變更 BFCache 在含有 Cache-control: no-store HTTP 標頭提供的網頁中的行為。我們有一項公開提案旨在監控各種信號 (例如:每當僅限 HTTP 的 Cookie 變更時都移除網頁 BFCache),以及為特殊情況列出內容 (例如企業/教育版客戶的群組政策),避免產生大量意外狀況。這是個複雜但也令人興奮的機會,我們希望加入額外的審查機制和意見回饋!

  • 時間表:鎖定 Chrome 104 (2022 年 7 月),假設沒有發生重大驚喜。
  • 行動號召:請參閱這份提案進一步瞭解詳情,包括如何啟用進行中的導入作業,以及提供意見的方式,例如實際情境會帶來新挑戰。

我們希望透過這系列課程,讓開發人員社群更加親近與團隊的工作,因此能讓觀眾對這個社群有專注和連結感。敬請密切關注,掌握最新消息。

在此之前,先盡情享受網路世界吧!

您對第一版的 Chrome Dev Insider 有什麼看法?歡迎提供寶貴意見