Firefox 55: 率先支援 WebVR 的桌面瀏覽器

WebVR 的桌面支援

Windows 版本的 Firefox 是第一個支援 WebVR 新標準的桌面型瀏覽器Nightly 則為 macOS 提供 WebVR 支援)。在開發 WebVR 時,Mozilla 的本意是要使其效法 Web 的標準化、開放性與相互操作性的原則。也如此,WebVR 才能在任何一種 VR 設備上運作:Vive、Rift 和其他各式各樣的裝置。

如需更多資訊,請參考 vr.mozilla.org 網站。或,您也可試試可打造網頁沉浸式體驗的開源框架 — A-Frame

針對開發者推出的新功能
Firefox 55 支援 ES2017/2018 的幾種新功能,包括 async 生成器和 rest/spread(“…“)控制代碼:

let a = { foo: 1, bar: 2 };
let b = { bar: ‘two’ };
let c = { …a, …b }; // { foo: 1, bar: ‘two’ };

關於使用方法,您可在 MDN 上找到完備的參考文件,其中包含物件字面語法(object literals)或解構賦值(destructuring assignment)的說明。另外,TC39 提案文件也對此功能提供精闢解說。

DevTools 的 Nework 面板現也支援搜尋過濾功能,您可輸入如 “status-code:200” 等檢索字串來進行搜尋。

另外,Network 面板還新增隱藏表格欄的功能。如上圖所示,您可選擇隱藏或顯示 cookies、protocol 和 scheme 等等表格欄。

讓 Firefox 跑得更快
為了加快 Firefox 的運作速度,我們導入了一些新功能和特性:

  • 未來,新安裝的 Windows 版 Firefox 將預設為更穩定和安全的 64 位元版本。現有已安裝的 Firefox 則將隨下一次釋出(Firefox 56)升級到 64 位元。
  • 當您在 Firefox 上同時開啟許多分頁後,復原或重新啟動 Firefox 的所需時間已大幅縮短。我們的工程師 Dietrich Ayala 便曾同時開啟高達 1,691 個分頁(測試原因不明)。若用 Firefox 54,他得花 300 秒才能完成開啟,還需佔用 2GB 的記憶體。現在透過 Firefox 55,只需要 15 秒的時間及 0.5GB 的記憶體。如此顯著的進步主要得歸功於外部貢獻者 Kevin Jones 不眠不休的努力,才能把復原分頁相關的固定成本幾乎一舉消滅。
  • 使用者還可在偏好設定中調整要 Firefox 啟用的內容處理程序。Firefox 54 開始推出多內容處理程序,讓 Firefox 充分運用現代化多核 CPU 的優勢,同時也避免佔用過多 RAM。
  • Firefox 使用內建的追蹤保護清單來辨識在背景頁面執行的追蹤指令碼,並且調節其佔用的頻寬。在短暫的適應期過後,當 Firefox 於背景執行分頁時,將把追蹤指令碼設定的最低回呼 setInterval 與 setTimeout 時間增加到 10 秒。除此以外,針對背景分頁,一般的頻寬限制則為 1 秒。藉此,我們可以確保未使用的分頁不會因為看不見,而影響效能或消耗設備的電池壽命。當然了,Firefox 不會限制正在播放音訊或影片之分頁的頻寬,以免造成背景分頁中的音樂播放不順。
  • 配合Flash 服務終止的規劃,以及 Microsoft Google 的時程,Firefox 55 的使用者現在需在網頁上主動點擊啟用 Flash。瀏覽器業者將於 2020 年將 Flash 自 Web 平台移除。

讓Web 跑得更快
Firefox 55 新增幾項低層級功能,讓需大量運算資源的網頁應用能有更高的效能:

透過 IntersectionObserver API,Firefox 可更快速穩定地回應頁面上的可見元素。其速度與穩定性遠優於輪詢(polling)或 invisible Flash 電影等既有密技。如需進一步了解,歡迎閱讀我寫的有關 IntersectionObserver 的文章

  • SharedArrayBuffer Atomics 物件是新的 JavaScript 原始型別(primitives),可供工作者分享和同時存取一樣的記憶體。終於,高效多執行緒處理在 Web 上成為真實。唯一的缺點是什麼?就像使用一般的多執行緒語言一樣,開發者在分享記憶體時,得特別留意執行緒安全和互斥鎖(mutex)等問題。如需更多有關 SharedArrayBuffer 的資訊,請參考這篇漫畫輔助說明的文章,以及這篇解說
  • requestIdleCallback() API 提供了一個排定回呼時間的新方法,可於瀏覽器在頁框(frame)之間有多餘、閒置的幾毫秒,或已過最長逾時時間時自動回呼,故能善用短暫的時間來充分運用原先可能閒置的瀏覽器資源,並在瀏覽器忙碌時,延後處理優先性較低的工作。雖然這款 API 的入門門檻較高,但 MDN 提供了非常好的文件,能幫您快速了解如何使用 requestIdleCallback()。

讓Web 更安全
Geolocation Storage API 加入了 Service Workers 等安全性強大的 API 的行列,也同樣只能在安全的 https:// 來源上執行。若您想幫網站導入 TLS 憑證,不妨考慮選用 Let’s Encrypt。Let’s Encrypt 是完全免費、自動簽署且非營利的 CA。

另外,Firefox 55 將禁止外掛程式從非 HTTP/S 、或在非 HTTP/S 的體系中載入,如:file:。

全新的WebExtension APIs
WebExtensions 現可:

還有更多……
為了即將到來的 Firefox 的新時代預作準備,除了上述這些新奇的功能之外,我們還在醞釀推出更多的改進,即將在今年 11 月釋出。部分 Firefox 55 的使用者將會陸續看到新的 Firefox 網頁截圖(Screenshots)功能。此外,書籤/瀏覽紀錄側邊欄現已可設於瀏覽器的左右任一邊。不久前,我們甫宣布啟動三項全新的「測試領航員」(Test Pilot)實驗專案

請參考官方版本說明、MDN上專為開發者提供的 Firefox 55 資訊,以及 Mozilla Blog 的正式公告,進一步了解 Firefox 55 的各項新功能與特點。

原文連結

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.