As a developer, I always find myself using Chrome during development to debug code, element inspecting, etc. For me there is no better browser other than Chrome. When I got my first iOS device, I did tried using Safari till open a page and I found jumping focus on fixed position element. Annoyed by that bug, I downloaded Chrome and expecting I don’t have to deal with that Safari bug anymore.

Guess what, that bug also exist in Chrome iOS while Chrome Android render the page correctly. Confused with this phenomenon, I started to find out why. Turn out Chrome for iOS is not Chrome. It is basically Safari with different skin.

I think that’s why Chrome dev team put different user agent string only for iOS.

Chrome iOS identify as CriOS
Chrome for other platform identify as Chrome.

App Store Approval Guidelines stated that:

Apps that browse the web must use the iOS WebKit framework and WebKit Javascript

that means Chrome along with other browsers for iOS can only use Webkit rendering engine. That is also why Firefox doesn’t land to iOS.

The worse part is, 3rd party browsers are forced to use the older Webkit Javascript engine while Safari uses Nitro, Apple’s latest Javascript engine.

Then why Chrome still landed in iOS?

Best guess is since Blink was a fork of Webkit, and Chrome used Webkit before, the Chrome team can tolerate to this restriction.

A little hope for 3rd party browsers

Apple announced that iOS8 will be shipped with new API that offer equivalent Javascript engine as Safari called WKWebView. With the new API, Chrome iOS will be faster along with other app embedded popup browsers like Twitter or Facebook.