3 ms·
Nobody is talking about the real advantage of RN: Being able to release to the App Store without having to go through a review. That's so massive. Getting a b
by spiderice 16d ago
Nobody is talking about the real advantage of RN: Being able to release to the App Store without having to go through a review. That's so massive. Getting a bug fix out to users instantly, sneaking in optimizations, etc..
Sure, you need a review to release native code changes, and you should probably get a review if you have big feature changes just for the sake of Apple not banning you. But in practice, it removes one of the biggest annoyances of developing for the App Store.
- tcoff91 16d agoOver the air updates is SO valuable with react-native. Being able to ship hotfixes instantly to our users has saved our asses multiple times.
- sebmellen 16d agoThis is so true, and I'm surprised that Shopify didn't mention it or that they don't use OTA updates.
- azuanrb 16d agoI’ve worked with both native and cross-platform. I think the mentality of being able to make changes quickly without much review often comes from cross-platform, especially when the developers come from a web background. Changes are cheap and fast, so teams often feel less pressure to test everything thoroughly before a release. Which is a fair tradeoff. That’s part of the reason we can have dozens of releases a day on the web. Not just because we can, but because sometimes we have to. With native, you know each release is harder to roll back, so you tend to build more tooling around releases, think through changes more carefully, and test more thoroughly before they’re ready to ship. You opt for one bigger, more stable release every few weeks instead. At the end of the day, both approaches work. Heh, now that I think about it, maybe web and cross-platform devs were the original vibe coders? Changes are cheap and fast. Just move fast and break stuff. Native devs are the old-school ones. Shipping is expensive, so you better get it as right as possible.
- sebmellen 15d agoTotally depends on your business model too. We have clients that often require quick changes for compliance reasons, and they need to ensure all users of our apps are congruently updated. That’s not easy without OTA.
- MrDresden 15d ago> "Native devs are the old-school ones. Shipping is expensive, so you better get it as right as possible." Exactly this. After close to two decades building for the platform, the mindset is really to be cautious and make sure everything is rock solid before shipping. This has more to do with building up a quality tool chain and testing process than being slow. But sometimes there is a need to ship over the air updates, and for that (on Kotlin) there is Zipline [0] from Cashapp. I haven't used it in anger yet, but I know some people who do and trust it. [0]: https://github.com/cashapp/zipline https://github.com/cashapp/zipline
- mohamedkoubaa 15d agoAre you saying a native app can't make an http request and update the code they JIT?
- jshmrsn 15d agoPrecisely. That has always been prohibited both by technical measures and by the App Store review guidelines. Especially on Apple, but also on Google Play / Android as well.
- whstl 15d agoIt 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 15d 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 15d agoYeah, but to my understanding that’s not what Shopify is doing.
- svieira 15d agoYes, it could, but then you would have re-invented React Native. But in WASM.
- apitman 15d 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.
- banksybugg 15d agoYou can do OTA updates with native code and WebAssembly. There are multiple products popping up around it. https://patchrelease.com/#how https://patchrelease.com/#how for example.