5 ms·
It can download Javascript (or other interpreted language, or config data), but you generally can't download and execute new compiled native code on iOS, due to
by whstl 6d ago
It can download Javascript (or other interpreted language, or config data), but you generally can't download and execute new compiled native code on iOS, due to iOS code-signing/executable-memory restrictions.
Also keep in mind Apple might penalize you for dodging the review process and shipping new features, etc.
(btw, one exception to the JIT rule is custom browsers for the EU)
- mohamedkoubaa 6d agoPardon my ignorance but can't an iOS app host a WASM runtime without being a browser? And if so it doesn't need to be an interpreted language necessarily.
- sebmellen 6d agoYeah, but to my understanding that’s not what Shopify is doing.
- svieira 6d agoYes, it could, but then you would have re-invented React Native. But in WASM.
- apitman 6d agoI am fairly certain this is against Apple's policies. In principle you're not supposed to change the functionality of your app without review.
- cute_boi 6d agoi don't see any difference between wasm and js? If react native apps can be updated with js, wasm should be allowed.
- apitman 6d agoI think updating js without review is also against policy.
- whstl 6d agoIt's a grey area. App Review Guidelines §2.5.2 says: "Apps should be self-contained in their bundles, and may not read or write data outside the designated container area, nor may they download, install, or execute code which introduces or changes features or functionality of the app, including other apps" Technically Apple can punish you for anything but so far it seems to be accepted for small fixes and tweaks.
- myko 5d agoDoesn't seem like a grey area at all, pretty clear it is against the policy. Just a ridiculous policy and hard to enforce.
- spiderice 5d agoCould you reinvent OTA updates in another non-native language? Of course. But then you still wouldn't have a native app. You'd just be doing React Native but worse.
- mohamedkoubaa 5d agoMy point is that it isn't that RN "removes one of the biggest annoyances of developing for the App Store", it's that a specific technical feature of RN does that, and it's not only available to RN