The big issue, as I understand it, is JIT. You can run any browser engine you like on iOS, but only WebKit (its JavaScriptCore component) is allowed to JIT JavaScript. Without JIT, the JavaScript performance will be bad; and considering the contemporary JavaScript-heavy nature of the web, that makes any alternative browser engine a non-starter.
(I wonder how it is implemented. I'm guessing that WebKit runs out-of-process, and that process has the JIT entitlement, whereas the host app process doesn't.)
IDK how it is now, but Apple used not to allow e.g. alternative Javascript engines in apps—you had to use Webkit's.
Having developed an app-building engine for Android in the days when some vendors shipped different engines to supply webview functionality (is that a thing? I actually don't know if they ever stopped) I can say I'm extremely in favor of this part of their policy. God that was a pain in the ass.
App Store guidelines say you have to use WebKit JavaScript for web browsing. I believe you are allowed to use third-party JavaScript for non-web-related purposes. That’s a rather small use case though.
Also, we have to distinguish between App Store policy and technical constraints. If you are just running your own software (e.g. developer, adhoc distribution, enterprise distribution), you don’t need to care about the former only the later-lack of entitlements to JIT is still an issue for the later.
Despite the branding, "Chrome for iOS" and "Firefox for iOS" are fundamentally different products than their Android or desktop counterparts. They're both just wrappers around the same bundled version of Webkit that Safari uses.
It isn't just a privacy argument. Browsers need security exceptions for full performance, such as compilation of Javascript/WebAssembly. The browsers may also not have enough process infrastructure to support their native sandboxing strategy on iOS.
Someone can make arguments on whether Blink's rendering engine would have business motivation for an iOS port. However, the sandboxing and javascript differences were large motivating technical factors in Blink forking from WebKit in the first place.
A few reasons for me, personally:
1) I like the consistency of all web pages being rendered by the same engine and having access to similar capabilities, no matter if it's a web-view inside an app, or in a browser.
2) Safari's a pretty great default for mobile devices, so I don't feel like I'm losing out by being "stuck" with it.
3) From a big-picture perspective, Apple forcing Safari on iOS is the only reason the entire Web client space isn't completely dominated by Google and subject to that—omitting some words I might choose to describe them, for civility's sake—company's every whim (instead it's only mostly dominated by Google)
4) Conveniently for me, I also happen to have no interest in having other browser engines on my phone or tablets, since this one's pretty good, and in some ways best-available, anyway. I have zero clue why I'd want another browser engine on my i-devices, and I've been doing this whole Web thing a while, long enough that I happily adopted and evangelized Firefox back when it was still called Phoenix—normal users have even less reason than I might. As in, I can't think of a single reason being able to install other browser engines would make my time using the devices better. Better battery life? LOL no, it'd be worse. Features I want? Nope, but several I actively do not want developers to even have as an option. I'd rather keep those capabilities away so developers can't start depending on them, so start forcing me to choose between using sites I want to use and avoiding things I don't think browsers should be able to do in the first place (I'm sad Safari's given up as much ground on this as they have, frankly, but again, it's only because of their i-device browser engine monopoly that they have any leverage at all here).
5) Meanwhile, this doesn't get in the way of my using the actually-important features of other browsers, they'll just have Safari's engine under the hood. Not a big deal, or even a small one (to me).
Then use Safari and don't install another browser. Why should other people be prevented from installing other browsers based on your preferences?
> 2) Safari's a pretty great default for mobile devices, so I don't feel like I'm losing out by being "stuck" with it.
Then use Safari and don't install another browser. Why should other people be prevented from installing other browsers based on your preferences?
> 4) Conveniently for me, I also happen to have no interest in having other browser engines on my phone or tablets, since this one's pretty good, and in some ways best-available, anyway.
Then use Safari and don't install another browser. Why should other people be prevented from installing other browsers based on your preferences?
Already answered in my post. A cookie for you if you can quote the relevant sentences.
> Then use Safari and don't install another browser. Why should other people be prevented from installing other browsers based on your preferences?
Ditto.
> Then use Safari and don't install another browser. Why should other people be prevented from installing other browsers based on your preferences?
Ditto.