Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Difference between Chrome for iOS and Chrome for Android

As the title says: What is the difference between Chrome for Android and Chrome for iOS.

I've done a bit of research between the two but couldn't find any recent information regarding the subject. The reason for doing this research is because I'm looking into the compatibility between mobile browsers for certain Web API's. For this I'm using caniuse.com, which only displays Chrome for android but not iOS.

I am aware that Chrome for iOS is not being executed by the UIWebView any longer (iOS >= 8), and it now makes use of WKWebView.

So are Chrome for Android and Chrome for iOS the same or is there still a difference between these mobile browsers?

like image 238
M.B. Avatar asked Oct 03 '17 14:10

M.B.


2 Answers

╔═══════════════════════╦══════════════════╦═══════════════════════╗
║        Chrome         ║ Rendering Engine ║   JavaScript Engine   ║
╠═══════════════════════╬══════════════════╬═══════════════════════╣
║ iOS                   ║ iOS WebKit       ║ Nitro(JavaScriptCore) ║
║ Android/Windows/Linux ║ Blink            ║ V8                    ║
╚═══════════════════════╩══════════════════╩═══════════════════════╝

In addition to @Innominatum answer, Note that Chrome for Android/Windows/Linux uses V8 JavaScript engine while Chrome for iOS has to use Nitro engine (same engine that powers Safari)

In accordance with Apple's requirements for browsers released through their App Store, iOS version of Chrome uses the iOS WebKit – which is Apple's own mobile rendering engine and components, developed for their Safari browser – therefore it is restricted from using Google's own V8 JavaScript engine

So chrome and even Firefox behaves fundamentally same as Safari on iOS. That's why https://caniuse.com shows just one support table (iOS Safari) for iOS

References:

https://en.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

like image 106
Abdul Rauf Avatar answered Nov 19 '22 21:11

Abdul Rauf


After doing some more research and asking a few questions to some developers, I got my answer. The browser, Chrome for Android makes use of the Blink engine. Chrome for iOS makes use of the WebKit engine. These are both a fork of the KHTML layout engine.

Because of the strict rules that are in place at Apple. All the browsers that are installable for iOS make use of the WebKit engine instead of the their original layout engine.

like image 10
M.B. Avatar answered Nov 19 '22 21:11

M.B.