Chrome for iOS和Chrome for Android之间的区别

Inn*_*tum 6 android google-chrome ios

如标题所述:Android版Chrome和iOS版Chrome有什么区别。

我在这两者之间做了一些研究,但找不到有关该主题的任何最新信息。进行这项研究的原因是因为我正在研究某些Web API的移动浏览器之间的兼容性。为此,我使用的是caniuse.com,该网站仅显示适用于Android的Chrome,不显示iOS。

我知道UIWebView不再执行iOS的Chrome浏览器(iOS> = 8),并且现在使用WKWebView

那么Android版Chrome和iOS版Chrome是否相同,或者这些移动浏览器之间仍然存在差异?

Abd*_*auf 13

????????????????????????????????????????????????????????????????????
?        Chrome         ? Rendering Engine ?   JavaScript Engine   ?
????????????????????????????????????????????????????????????????????
? iOS                   ? iOS WebKit       ? Nitro(JavaScriptCore) ?
? Android/Windows/Linux ? Blink            ? V8                    ?
????????????????????????????????????????????????????????????????????
Run Code Online (Sandbox Code Playgroud)

除了@Innominatum答案之外,请注意,Android / Windows / Linux版Chrome使用V8 JavaScript引擎,而iOS版Chrome必须使用Nitro引擎(与Safari相同的引擎)

根据Apple对通过其App Store发布的浏览器的要求,Chrome的iOS版本使用iOS WebKit(这是Apple自己的Safari浏览器开发的移动渲染引擎和组件),因此限制使用Google自己的V8 JavaScript引擎

因此,Chrome和Firefox的行为在本质上与iOS上的Safari相同。这就是为什么https://caniuse.com仅显示一个iOS支持表(iOS Safari)的原因

参考文献:

https://zh.wikipedia.org/wiki/Google_Chrome

https://softwareengineering.stackexchange.com/questions/198375/why-is-it-impossible-for-google-to-port-v8-along-with-chromes-codebase-in-c-obj

https://github.com/Fyrd/caniuse/issues/1551

https://github.com/Fyrd/caniuse/issues/3869

  • 总而言之,苹果将用户限制在他们设计的唯一浏览体验中。 (2认同)

Inn*_*tum 5

在进行了更多研究并向一些开发人员提出了一些问题之后,我得到了答案。Chrome浏览器(Android版)使用Blink引擎。Chrome for iOS使用了WebKit引擎。这些都是KHTML布局引擎的分支。

由于Apple制定了严格的规定。适用于iOS的所有可安装浏览器都使用WebKit引擎而不是其原始布局引擎。

  • 是的,您的解释正确。iOS的移动网络浏览器已关闭,无法使用其他引擎,因此,它们使用Safari浏览器中存在的引擎。这导致iOS和Android浏览器的可用Web API有所不同。因此,这是后一种选择,Chrome for iOS具有与iOS Safari Web浏览器相同的Web API。 (2认同)