I might need to decide for a company which technology to choose, Ionic (with Cordova or Capacitor) or React Native. In this context, please help me to understand the Code-Push process.
Ionic ships all non-native code for an utilized (system-default) browser. As a developer you write REAL web code, e.g. JS, HTML and CSS. Therefore, there is no need to submit a new build version to the App-/Playstore, unless native plugins were changed.
Now writing React Native feels like writing a React web app, but as a developer you quickly notice that you can only use specific tags like <Text>
which later get compiled to native components. Stuff like <div>
and <span>
does not work in that context.
So my question is, if React Native compiles basically all the code (not just the native Android/iOS modules) into native code, how does CodePush still work? If native code is updated with basically every change, why does CodePush not work after updates of those actual native modules that require a bridge? Where is the difference between a native and non-native module in React Native?
I think the third framework relevant in that context is Flutter, which seems to have its own live-update service: https://waytoon.github.io/Chimera/ Is that also limited to updates of non-platform-specific code?