I picked EXPO over ReactNative for my new project. But I have some questions about how it works, and the performance.
-
Are EXPO and ReactNative the same under the hood? (in terms of how it works with native code?) How does bundled JS file get used/translated by app(built for iOS or Android)? What I thought was when ‘expo build:ios’ is run, It would translate all JS into SWIFT language. And that’s how the app can gain the native performance.
-
If JS is not translated into the native language (to SWIFT or to JAVA), then what renders bundled JS file?(WebkitWebView? UIWebView? I mean, JS can’t be translated without any WebView?) And when is it rendered? (Every time the app runs?)
-
And if that’s how EXPO works, then is that how ReactNative works as well? JS rendered by WebView every run-time? If so, how does it have native-like performance??
-
If that’s not how ReactNative works(rendering JS on every runtime by WebView), then does it have better performance? I mean, in that case I think I can say EXPO isn’t technically ReactNative. The working mechanism is different. Am I right?
-
If the EXPO app for app store is just an App with WebKitWebView that renders the bundled JS file every run-time, I think I can say EXPO and PhoneGap are technically the same(the mechanism of How it Works). Am I right?
I’m super curious!! Thanks in advance!!