caniuse 是一個整理了各瀏覽器各版本對不同 feature 支援度的網站,舉凡在 CSS, HTML5, JavaScript 的支援度都有詳細的整理與比較。但某天我想要查各家 Mobile Browser 對 WebAuthn 的支援度時,發現表格裡找不到 Chrome for iOS 跟 Firefox for iOS。
外?
估狗了之後大概瞭解到,雖然 Apple App Store 允許第三方瀏覽器的上架,但卻有瀏覽器引擎必須使用 iOS WebKit 的規定。
App Store Review Guidelines
2.5.6 Apps that browse the web must use the appropriate WebKit framework and WebKit JavaScript.
所以不同於 Android Chrome 與 Android Firefox 分別是使用 Blink 與 Gecko,iOS Chrome 與 Android Firefox 都是使用 iOS WebKit 的 WebCore 作為 Rendering Engine。JavaScript Engine 也不是使用 V8 或是 SpiderMonkey 而是 JavaScriptCore。
也就是說,iOS Chrome 跟 iOS Firefox 對各個 feature 的支援度基本上大約等於 iOS Safari 了。所以 caniuse 就不另外列出這兩個瀏覽器,直接參考 iOS Safari 的結果就可以。
參考資料:
Add iOS Chrome to the support tables · Issue #1551 · Fyrd/caniuse · GitHub
Add support columns for Firefox on iOS · Issue #3869 · Fyrd/caniuse · GitHub