Chrome and Firefox on Android are skins over top of a Safari widget. Apple's policies forbid shipping any alternative web engine implementation. An interpreter-only approach would work at a technical level but isn't permitted by their App Store policies. This is common for them.
Conversation
I guess you mean on iOS; it's definitely real on Android. Why isn't interpreter permitted by policies if the interpreter does not expose any access to system facilities?
2
Like, as a really stupid exercise, you could compile Firefox (or at least a non-bloated browser) to wasm and run the whole thing inside a tab in their Safari junk to get a real browser on iOS... So why can't you just do that with an app?
1
Nothing at a technical level stops you from shipping Firefox or Chromium with a pure interpreter approach. Safari is a loophole in their policy. It's the only permitted web rendering engine, and you're allowed to use it to download and execute dynamic web content.
1
Ttheir policies permit you to download and execute arbitrary content in the Safari WebView.
If you ship a Python interpreter and then you download Python code from your servers to run, that's a violation of the rules. If you run only Python included in the app, that's fine.
1
The Play Store has a directly comparable rule. The reason for the rules is that they want to be able to review all of the code. If they allow you to dynamically download and execute code, they can't review all of it, so they will ban apps caught doing that. Safari is a loophole.
1
There are many apps essentially using it as a loophole by shipping an app that's heavily driven by content running in a WebView. Apps can heavily use reflection to dynamically expose native APIs to the WebView and bend the rules to ship out-of-band updates bypassing review.
1
1
2
Play Store has the same rules but they're far more lax with enforcing them. Technically, apps like Termux violate the Play Store rules but Google doesn't usually enforce anything unless they spot something malicious happening. It does mean they let apps bypass review in practice.
1
Apple is pretty lax with enforcing these rules against major apps. A lot of widely used apps are pretty much breaking the rules with sketchy loopholes and they're able to ship major app updates out-of-band through reflection, interpreters, etc. Can find a lot of blogs about it.
1
2
github.com/microsoft/code is an example of a widely used framework bypassing app store review via out-of-band updates relying on loopholes. Many developers of primarily smaller apps end up having their apps rejected at some point because they arbitrarily decide to enforce rules.
1
1
Apple does word their policy in a way that there's room for them to look the other way, and Google's policy is explicitly worded as permitting it in cases where the code is meaningfully sandboxed and doesn't have the ability to simply access native APIs, etc.

