Hacker News new | ask | show | jobs
by pier25 3066 days ago
I’ve never understood why Apple doesn’t allow other browser engines on iOS.

It seems a really ridiculous policy that doesn’t really benefit anyone.

7 comments

Isn't that obvious? With iPhone being major mobile device they put enough pressure on web developers to support WebKit which benefits Safari not just on iOS, but on macOS as well. This also not just wins better support for Safari, but give Apple some foot in making of web standards.

If they allow alternative engines on iOS they'll just slowly lose browser market share they still have which likely end up in death spiral for Safari support.

It's extremely hard to compete with Google since even Firefox on Android is still extremely rare no matter how much effort Mozilla put into it.

In the Medium article, the CEO claims the issue stems from them rendering pages on their servers using Chromium rather than WebKit.

On the face of it, this seems bizarre but I could definitely see how Apple has an interest in having their User Agent stamped on outgoing requests.

They weren't telling the truth about "superior virus protection" or Apple trying to protect Google ad revenue (Apple has supported third party content blockers in Safari for years), why should we believe they are telling the truth here?

Besides, Opera Mini does the same thing - Server side rendering - and has been on the Apple Store for years.

Locking out other engines does a few things:

- Ensures a minimum level of battery performance for users browsing the web. Chrome and Firefox for macOS are notoriously hard on your battery and iOS versions would likely have the same issue.

- Reduces the number of vulnerabilities present on the platform.

- In the event that a bad vuln does crop up, Apple can and will scramble out a WebKit patch to fix it, quickly protecting all users, even those using browsers by small/independent developers. This would be impossible if said indie devs were using Blink or Gecko or something instead.

These problems could be worked around if alternate engines were bundled with the OS as part of a partnership with Google and Mozilla, but such a scenario seems unlikely at best.

1) Users have the choice in other types of apps such as PDF renderers and game engines in matters of performance and battery life. Why not browsers?

2) Game engines are very low level and Apple doesn't have a problem with UE or Unity. Maybe the problem is the iOS sandbox would not work with JS engines?

3) I don't buy the security argument. Google and Mozilla are very diligent with updates, even more so than the Webkit team. It could be argued that the Android approach of unbundling components from the OS is actually better in terms of security.

People would just have an alternative choice.

All you say can be said for any other app on the app store.

But this isn't really another browser engine. They do server side rendering. They're just displaying images on your phone.
As does Opera Mini and its on the App Store. I don't take Puffin's statement at face value.
I thought it had to do with sandboxing and remote code execution. I think they still restrict what interpreters/scripting languages can be used for in apps.
Letting apps bundle their own browser engine guarantees that there will be unpatched security bugs.
If you read the article, you'd know they do server side rendering. They're basically displaying images on your phone.
Except Apple themselves...
Why does it benefit Apple?

Imagine if you could only use Safari on macOS...

Don't give Apple ideas. The cat's already out of the bag, but if Apple could force people to obtain MacOS apps only from the Mac App Store, which does not have other rendering engines, they would. See also: Windows 10 S.