谷歌 Web 開發者大會
https://web.dev/live
今天我們通過 bilibili 和騰訊視頻發布內嵌中文字幕的所有演講視頻,希望可以為中國開發者們帶來機會再次與 Web 技術接軌。
https://www.bilibili.com/medialist/play/ml1018067858/http://v.qq.com/vplus/78ffb35ddcf6577ad6e00555d6a4fbaa?page=cover此外,谷歌大中華區 Web 生態諮詢團隊也將定期帶來 Chrome/Web 技術的更新,幫助開發者得到更及時的發布和反饋,期待本次的內容對廣大的 Web 開發社區帶來價值。接下來讓我們一起了解一下在三天的谷歌 Web 開發者大會中分享的一些新聞和更新。Chrome 團隊發布了 Web Vitals 計劃,以提供統一的文檔、指標和工具,幫助開發者在 web 上提供優秀的用戶體驗。Google Search 團隊最近也宣布,他們將把 web 體驗納入排名標準,並將以 Core Web Vitals (核心網頁指標) 作為基礎。為 web 這樣一個寬泛的平臺進行開發相當具有挑戰性。構建工具通常位於您的 web 開發項目的核心,在幫助開發者完成工作和管理產品生命周期中承擔著關鍵角色。
我們都知道繁冗的構建配置文件是什麼樣子,所以,為了幫助 web 開發者和工具作者克服 web 的複雜性,我們為大家帶來了 tooling.report。這個網站可以幫助您為下一個項目選擇合適的構建工具,還可以幫您判斷從一個工具遷移到另一個工具是否值得,或者弄清楚如何將最佳實踐納入工具配置和代碼庫中。
我們設計了一套測試,來確定哪些構建工具可以讓您遵循 web 開發的最佳實踐。我們與構建工具的作者們合作,確保我們有正確地使用這些工具,並公平地給出評價結果。tooling.report 的初始版本涵蓋了目前最流行的構建工具,包括 webpack v4、Rollup v2、Parcel v2 和 Browserify with Gulp。我們在構建 tooling.report 時也保留了將來添加更多構建工具的能力,並能藉助社區力量進行更多的測試。
如果我們遺漏了應該測試的最佳實踐,請在 GitHub 向我們提交需求。如果您願意編寫測試或添加我們沒有包含在初始集合中的新工具,歡迎您來這裡做出貢獻!
https://github.com/GoogleChromeLabs/tooling.report/issues/newhttps://github.com/GoogleChromeLabs/tooling.report/blob/dev/CONTRIBUTING.md請大家進一步閱讀 tooling.report 的介紹文檔,或觀看演講視頻:△ 構建更好的工具
Chrome 相信開放 web 的價值,這樣的 web 應該能夠尊重用戶的隱私,維護關鍵的用例,讓 web 能為每一個人所用。
2019 年,Chrome 提出了對 cookie 標準的更新,將 cookie 默認限制在第一方上下文中,並要求涉及第三方 (也稱作 "跨站") 上下文的 cookie 必須明確做出標記。這為防止跨站請求偽造 (Cross-Site Request Forgery) 攻擊提供了一道防線。目前,Chrome、Firefox、Edge 等瀏覽器都採納了這一建議。
https://blog.chromium.org/2019/05/improving-privacy-and-security-on-web.html之前,鑑於 COVID-19 的疫情局勢,Chrome 決定暫時撤銷這些變更,但很遺憾的是,在人們最脆弱的危機期間,這類攻擊的數量卻依然有所增加。所以,隨著 Chrome 84 穩定版的發布 (2020 年 7 月中旬),這些變化將重新開始在版本 80 及以上的所有 Chrome 中部署。想要了解更多詳情,請查看 SameSite cookie 指南以及演講視頻:臨時撤銷 SameSite cookie 變更
https://blog.chromium.org/2020/04/temporarily-rolling-back-samesite.html
SameSite 更新
https://www.chromium.org/updates/same-site?pli=1#20200528
SameSite cookie 指南
https://web.dev/samesite-cookies-explained/
△ 關於 Cookie 的注意問題——聊聊 SameSite此外,Chrome 正在引入一套標準提案 (名為 "隱私沙箱計劃",Privacy Sandbox),支持通過 web 平臺變現的用例,但執行方式需要更加尊重用戶隱私。Chrome 正在積極收集對這些提案的反饋,並在 W3C 的公開論壇中參與討論,包括隱私沙箱計劃和來自各方的其他提案。您可以觀看演講視頻了解更多關於這一計劃的信息:
最後,讓我們看看用戶安全方面的問題。Spectre 是一個漏洞,即在一個瀏覽器進程中運行的惡意代碼可能會讀取與該進程相關的任何數據,即使它的來源並不相同。瀏覽器對此的緩解措施之一是站點隔離,即把每個站點放到一個單獨的進程中。您可以觀看視頻,了解更多新的跨源 Opener 和 Embedder 策略 (COOP 和 COEP) 的內容。
https://meltdownattack.com/△ 防止信息洩漏及應用 COOP 和 COEP
Chrome 希望您能自由地創建最高質量的 web 應用,在不同設備上盡最大可能觸達用戶。藉助 PWA 的可安裝性和可靠性,以及能力拓展項目 (Project Fugu),Chrome 得以通過三個關鍵任務來縮小原生應用和 web 之間的差距,幫助您構建和提供出色的體驗。
提供可安裝體驗
https://web.dev/customize-install/
安裝提示
https://web.dev/install-criteria/
更多安裝支持
https://web.dev/promote-install/#browser-promotion
Bubblewrap
https://github.com/GoogleChromeLabs/bubblewrap
針對 PWA 的新質量評估標準
https://blog.chromium.org/2020/06/changes-to-quality-criteria-for-pwas.html
其次,Chrome 提供了與作業系統更緊密的集成,比如可以通過調用系統級的分享服務與 Web Share API 來分享照片、歌曲等內容,也可以在安裝的其他應用分享內容時進行接收。您可以一直給用戶提供最新的內容,也可以通過應用徽標 (app badging) 巧妙地告知他們有新的事情發生。另外,現在用戶可以更輕鬆地通過應用快捷方式 (App Shortcuts) 快速啟動一個動作,該功能將在 Chrome 84 (2020 年 7 月中旬) 中提供。Web Share API
https://web.dev/web-share/
接收其他應用分享的內容
https://web.dev/web-share-target/
應用徽標
https://web.dev/badging-api/
應用快捷方式
https://web.dev/app-shortcuts/
最後,Chrome 一直在開發新的功能,以實現之前不可能實現的新場景,比如可以讀寫用戶本地文件的編輯器,或者獲取本地安裝的字體列表,以便用戶在設計中使用它們。在谷歌 Web 開發者大會期間,我們談到了很多其他的功能和特性,這些功能和特性可以讓您提供與本地應用相同的體驗。您可以觀看第二天的演講視頻:Chrome DevTools 和 Lighthouse 6.0 的新進展
Chrome Devtools: 新的 Issues 標籤頁、色覺障礙模擬器和 Web Vitals 支持Chrome DevTools 最強大的功能之一,就是發現 web 上的問題並告知開發者。當我們進入 web 的全新發展階段並以隱私為先時,這一點尤為重要。為了減少 Console 中的通知堆積和雜亂現象,Chrome DevTools 推出了 Issues 標籤頁,該頁面主要呈現三類關鍵問題: Cookie 問題、混合內容問題和 COEP 問題。請觀看視頻,了解如何用 Chrome 開發者工具的 Issues tab 發現並解決問題。
https://developers.google.cn/web/tools/chrome-devtools/issueshttps://web.dev/samesite-cookies-explainedhttps://developers.google.cn/web/fundamentals/security/prevent-mixed-content/what-is-mixed-contenthttps://web.dev/coop-coep/△ 用 Chrome 開發者工具的 Issues tab 發現並解決問題
此外,隨著 Core Web Vitals 成為 web 開發者使用和評判質量的最關鍵指標之一,DevTools 希望確保開發者能夠輕鬆了解他們的頁面在這些指標上的表現。因此,這三個指標現在都被放置在了 Chrome DevTools 的 Performance (性能) 面板中。
△ Chrome 開發者工具的產品進展
Lighthouse 6.0: 新的指標、Core Web Vitals 實驗室測量、更新的性能評分和新的審查項目Lighthouse 是一個開源的自動化工具,可以幫助開發者提高網站的性能。在最新的版本中,Lighthouse 團隊專注於提供基於指標的洞察,讓您通過關鍵數據緯度整體掌握用戶體驗的質量。
https://developers.google.cn/web/tools/lighthouse為了確保一致性,Lighthouse 增加了對 Core Web Vitals 的支持,這些指標包括: LCP、TBT (FID 的替代指標,因為 Lighthouse 是一個實驗室工具,而 FID 只能在真實環境中測量) 和 CLS。Lighthouse 還刪除了三個舊的指標: First Meaningful Paint、First CPU Idle 和 Max Potential FID。刪除的原因包括度量的可變性因素,以及新的指標能夠更好地反映 Lighthouse 試圖衡量的用戶體驗。此外,Lighthouse 還根據用戶的反饋,對每個指標在整體評分中的佔比做了一些調整。LCP
https://web.dev/lcp/
TBT
https://web.dev/tbt/
FID
https://web.dev/fid/
CLS
https://web.dev/cls/
First Meaningful Paint
https://web.dev/first-meaningful-paint/
First CPU Idle
https://web.dev/first-cpu-idle/
Max Potential FID
https://web.dev/lighthouse-max-potential-fid/
Lighthouse 還增加了評分計算器,通過提供第 5 版和第 6 版分數的對比,幫助您進一步了解性能評分。當您使用 Lighthouse 6.0 進行審核時,報告中會給出計算器的連結,並在其中填充好了您的數據。最後,Lighthouse 還增加了一些新的審核項目,重點是 JavaScript 分析和無障礙體驗。請觀看視頻進一步了解 Chrome Speed 工具的新功能:
△ Chrome Speed 工具的新功能
感謝與我們共同探討 web 平臺機遇和挑戰的每一位社區成員。
本文總結了本次活動的一些亮點,但這遠非全部內容,請點擊閱讀原文觀看所有的演講視頻。如果您想直接收到我們的更多內容,請訂閱 web.dev 郵件。此外,別忘了訪問 web.dev/live 上的地區活動,查找您所在時區即將舉辦的社區活動!
https://web.dev/newsletterhttps://web.dev/live#regional-events 點擊屏末 | 閱讀原文 | 觀看谷歌 Web 開發者大會全部演講視頻