Google I/O 2019上Chrome有什麼新進展?
谷歌I/O 大會第一天,在“What’s New with Chrome and the Web”主題分享上,來自谷歌Chrome 團隊的Dion Almaer 與Ben Galbraith 介紹了Chrome 開發的最新進展。正值Chrome 誕生第10 年、谷歌誕生20 週年,同時也是萬維網 30 周歲,演講就在這樣宏大的背景下展開。
“萬維網的誕生拉近了人們的距離,我們可以自由地聯繫,一切只需要一個鏈接。而Web 的未來需要不斷改進,以滿足我們不斷變化的需求。這就是我們開源Chromium 項目的原因。”分享者以Chrome 開場, 全場分享了當前谷歌通過Chrome 改善Web 平台的三大目標。
三大目標是:便捷、功能強大與安全,下邊是Chrome團隊當前在此目標下所做的努力。
便捷
分享者首先介紹了前陣子火熱的 Lazy loading延遲加載。
延遲加載是一種在加載頁面時,延遲加載非關鍵資源的方法,這些非關鍵資源在需要時才進行加載。使用該機制,頁面加載速度可以提升18%-35%。
Chrome 75 默認啟用延遲加載功能。
接著是提高站點性能的工具 Lighthouse,它內置於Chrome Dev工具中,其作用正如其名,主要用於分析站點,探索並告訴開發者如何利用所有最新的平台功能,以優化網站性能。同時Lighthouse可以為不同網站資源設置權重,只要簡單在JSON文件中配置相關限制與指標即可實現。
此外還有一系列網頁診斷工具。
SearchConsole 用於報告網站速度,精度可以達到URL級別,同時給出速度改進建議。
Firebase 用於更加深入的網站性能監控,它可以收集更加真實的用戶指標。
另一個工具 Paint Holding 用於提高用戶體驗。有一些網頁在跳轉內容時會出現白色閃爍背景層,這十分影響用戶體驗,Paint Holding正是用於過濾掉這一白色層的工具,可以做到頁面內容順滑過渡。
以上這些都是Chrome團隊目前正在讓Web更加便捷的研發亮點,另外還有一項更加深入的計劃—— Portals。
單頁應用程序(Single Page Applications,SPA)提供了很好的頁面交互,但代價是構建的複雜性更高,多頁面應用程序(Multi-page Applications,MPA)更容易構建,但最終會在頁面之間出現空白屏幕。
Portals 結合了這兩者的優勢,主要用於改進網頁交互體驗,目標是無縫導航。它類似於<iframe>,內嵌在網頁上,但可以導航到頁面內容上。用戶在一個頁面跳轉另一個內容時,雖然URL 相應地發生變化,但是不需要打開另一個窗口,此時該內容標記的Portals 會變成原來頁面的頂級頁面,同時原來頁面在其後保持主進程地位。現場演示了這對於購物體驗的極大便利,此外還有對漫畫這類單頁面應用的演示。
Portals 在Chrome Canary 中開啟chrome://flags/#enable-portals 即可使用。
提高Web便捷性的另一項深入研究名為“ Web Packaging ”,它預先將不同來源的資源簽名打包到一處,使瀏覽器可以直接快速獲取,同時提高安全性。
強大的功能
Chrome工程師Paul Lewis介紹了 Web Perception Toolkit,這是一個開源庫,工作原理是從設備攝像頭獲取信息流,比如條形碼、二維碼與logo,並將其傳遞給一組探測器,探測器識別的任何標記或目標都會映射到站點上的結構化數據,並為用戶提供可自定義的UI,為其提供擴展信息。
Paul現場演示使用手機掃描Chrome的經典小恐龍Dino實體模型,屏幕正確識別出一張小恐龍的信息卡,並收納於識別列表中。
接著分享者介紹了其致力於推動發展的 PWA 的應用場景。PWA概念由Chrome提出,開發團隊在Service Workers和Web App Manifest規範上不斷發力。分享者表示開發團隊當前希望改進系統對於PWA應用的發現能力,比如在網站上彈出安裝提示,使得用戶可以更加簡便地發現並安裝網站PWA應用。
同時其宣布從76 版本開始,Chrome 會內置一個PWA 應用多功能框。
產品經理Dana Ritter介紹了另一項功能強大的技術 Duplex on the web。Duplex是谷歌去年推出的智能助理技術,當時逼真的AI在發布現場預訂餐廳和預約美髮的“神蹟”至今還讓人驚嘆,而在此次分享上,Dana介紹了該技術已經擴展到了web應用上,比如汽車租賃和電影預訂。
在本次I/O 大會前面的分享場次上谷歌CEO Sundar Pichai 已經演示了該功能,Sundar 要求Duplex 幫助預訂汽車租賃,於是它使用其擁有的信息自動填寫了登錄表格,包括姓名、地址、到達和下車時間等。而Dana 則演示了它作為智能翻譯的強大能力,在模擬購物的過程中,Duplex 全程將英文翻譯為另一種語言,精細到各種按鈕,做到無障礙交互。
最後分享者還簡單預告了計劃中的一些Chrome 與 Web 功能,包括:
- 本地文件訪問
- 無限分享
- 聯繫人選擇器
- MIME 類型處理器
- 基於SMS 的身份認證
安全
分享者將擁有越來越多功能的Chrome 與Web 比喻成河豚,美味但是十分危險,這就需要不斷提高安全性,最後一部分分享者介紹了Chrome 在保證用戶安全方面的工作進展。
- Site Isolation(站點隔離)
Site Isolation 可針對某些類型的安全漏洞提供額外保護,它可以使不受信任的網站更難從其它網站上的帳戶訪問或竊取信息。
由於強制執行同源策略的代碼,網站通常無法訪問瀏覽器內不同站點之間的數據,但是網站代碼如果存在安全漏洞,則可能被惡意網站繞過規則,達到攻擊其它網站的目的。Site Isolation 確保來自不同網站的頁面始終放入不同的進程,每個進程都在沙箱中運行,該沙箱限制了允許進程執行的操作。同時它還可以阻止進程從其它站點接收某些類型的敏感數據。
- SameSite cookies
這是一項cookie 反跟踪技術。同一頁面的cookie 可能來源於不同域,用戶在訪問不同頁面時,第三方上下文中的cookie 會相應地傳送,這給CSRF 等攻擊帶來了機會。Chrome 引入SameSite 屬性,允許用戶聲明自己的cookie 是否應限制在第一方或同一站點上下文中,這增強了用戶隱私控制權。
- 默認HTTPS
此外Chrome 近年來一直在不遺餘力地推進 HTTPS 的落地,目前已經實現了默認HTTPS。